1.DDD是码下什么意思?
2.股票通用的辅助画线工具都有什么?
3.发布DDD脚手架到Maven仓库,IntelliJ IDEA 配置一下即可使用
4.产品代码都给你看了,码下可别再说不会DDD(二):DDD概念大白话
5..Net8+Abp.vNext+SqlSugar的码下DDD领域驱动设计后端开源框
DDD是什么意思?
1. DDD代表国内直拨国内长途电话业务,允许用户通过具备长途直拨功能的码下市内电话或小交换机分机电话直接拨打其他城市的长途电话。拨打方式涉及国内拨号键0、码下长途区号和本地号码。码下aide源码分享
2. GNU DDD是码下一款命令行调试工具的图形化前端,支持多种调试器,码下如GDB、码下DBX、码下WDB等。码下该工具特色在于其图形数据展示能力,码下能够可视化地显示数据结构。码下DDD源于年的码下VSL结构化语言,由Andreas Zeller创建,码下后经其他程序员发展至今。DDD的功能包括调试C、Ada、Fortran、python nmap 源码Pascal等语言编写的程序,源代码超文本浏览,断点设置,历史记录编辑,远程调试等。
3. 《DDD》是由奈须きのこ撰写的小说,分为两册。故事围绕一种名为“类激化药物异常症侯群”的怪病展开,患者不仅精神失常,肉体也会变形。小说主要讲述了失去左臂的青年石杖所在和拥有特殊义肢的少年迦辽海江之间的故事。该作品在年三月号的《ファウスト》杂志上连载,插图由Type-Moon的こやまひろかず负责。小说主题是恶魔,宗教观点基于基督教一神论,但包含许多颠覆传统认知的想法。
4. 限定日剂量(DDD)是指在一定时间内,针对某种药物,巴山财经 源码规定的最大日剂量。
5. 领域驱动设计(DDD)是由Eric Evans在年提出的软件设计方法,旨在解决软件开发中的复杂性。DDD强调基于领域的模型驱动设计,将业务逻辑集中在领域层,应用层负责指挥领域对象解决问题。该设计方法促进了分析、设计和编程之间的紧密集成,以应对快速变化的需求。Eric Evans在书中特别强调了避免将业务逻辑仅限于用户界面的做法,并提倡开发人员应该理解设计、编程以及业务领域。
股票通用的辅助画线工具都有什么?
通达信黄金分割压力和支撑画线主图指标公式,演示在源码下面网址里.
N1:=;
N2:=;
N3:=5;
AA:=REF(H,N1)=HHV(H,2*N1+1);
QY:=BACKSET(AA,N1+1);
CC:=FILTER(QY,N1) AND H=HHV(H,N1+1);
DDD:=BARSLAST(CC);
GDTS:=IF(CC,CURRBARSCOUNT,0);
DINGBU:=IF(DDD,REF(H,DDD),H);{ 顶部}
DINGBUTS:=IF(DDD,REF(GDTS,DDD),GDTS);
DINGBU1:=REF(DINGBU,DDD+1);
GDCS1:=CONST(DINGBUTS);
DINGBUTS1:=REF(DINGBUTS,DDD+1);
GDCS2:=CONST(DINGBUTS1);
DINGBU2:=REF(DINGBU1,DDD+1);
MM:=IF(CURRBARSCOUNT>GDCS2,0,1);
{ DRAWLINE(CURRBARSCOUNT=GDCS2,H,ISLASTBAR,REF(H,GDCS2-1),1),COLORFF,POINTDOT,LINETHICK2;
DRAWLINE(CURRBARSCOUNT=GDCS1,H,ISLASTBAR,REF(H,GDCS1-1),1),COLORYELLOW,POINTDOT,LINETHICK2;}
AA1:=REF(L,N1)=LLV(L,2*N1+1);
QY1:=BACKSET(AA1,N1+1);
CC1:=FILTER(QY1,N1) AND L=LLV(L,N1+1);
DD1:=BARSLAST(CC1);
DDTS:=IF(CC1,CURRBARSCOUNT,0);
YDB:=IF(DD1,REF(L,DD1),L);
DDTS1:=IF(DD1,REF(DDTS,DD1),DDTS);
DDCS1:=CONST(DDTS1);
ZDB:=REF(YDB,DD1+1);
DDTS2:=REF(DDTS1,DD1+1);
DDCS2:=CONST(DDTS2);
{ DRAWLINE(CURRBARSCOUNT=DDCS2,L,ISLASTBAR,REF(L,DDCS2-1),1),COLORFF,POINTDOT,LINETHICK2;
DRAWLINE(CURRBARSCOUNT=DDCS1,L,ISLASTBAR,REF(L,DDCS1-1),1),COLORYELLOW,POINTDOT,LINETHICK2;}
LAA:=REF(H,N2)=HHV(H,2*N2+1);
LQY:=BACKSET(LAA,N2+1);
LCC:=FILTER(LQY,N2) AND H=HHV(H,N2+1);
LDDD:=BARSLAST(LCC);
LGDTS:=IF(LCC,CURRBARSCOUNT,0);
LDINGBU:=IF(LDDD,REF(H,LDDD),H);{ 顶部}
LDINGBUTS:=IF(LDDD,REF(LGDTS,LDDD),LGDTS);
LDINGBU1:=REF(LDINGBU,LDDD+1);
LGDCS1:=CONST(LDINGBUTS);
LDINGBUTS1:=REF(LDINGBUTS,LDDD+1);
LGDCS2:=CONST(LDINGBUTS1);
LDINGBU2:=REF(LDINGBU1,LDDD+1);
LMM:=IF(CURRBARSCOUNT>LGDCS2,0,1);
{ DRAWLINE(CURRBARSCOUNT=LGDCS2,H,ISLASTBAR,REF(H,LGDCS2-1),1),COLORFF,POINTDOT;
DRAWLINE(CURRBARSCOUNT=LGDCS1,H,ISLASTBAR,REF(H,LGDCS1-1),1),COLORYELLOW,POINTDOT;}
LAA1:=REF(L,N2)=LLV(L,2*N2+1);
LQY1:=BACKSET(LAA1,N2+1);
LCC1:=FILTER(LQY1,N2) AND L=LLV(L,N2+1);
LDD1:=BARSLAST(LCC1);
LDDTS:=IF(LCC1,CURRBARSCOUNT,0);
LYDB:=IF(LDD1,REF(L,LDD1),L);
LDDTS1:=IF(LDD1,REF(LDDTS,LDD1),LDDTS);
LDDCS1:=CONST(LDDTS1);
LZDB:=REF(LYDB,LDD1+1);
LDDTS2:=REF(LDDTS1,DD1+1);
LDDCS2:=CONST(LDDTS2);
DDYL2:=DRAWLINE(CURRBARSCOUNT=LGDCS2,H,CURRBARSCOUNT=LGDCS1,H,1) COLORWHITE;
DDZC2:=DRAWLINE(CURRBARSCOUNT=LDDCS2,L,CURRBARSCOUNT=LDDCS1,L,1) COLORWHITE;
ZGSTAR:=(DDYL2+DDZC2)/2;
ZGEND:=CONST((DDYL2+DDZC2)/2);
STARDAY:=IF(DDCS2<GDCS2,DDCS2,GDCS2);
LLAA:=REF(H,N3)=HHV(H,2*N3+1);
LLQY:=BACKSET(LLAA,N3+1);
LLCC:=FILTER(LLQY,N3) AND H=HHV(H,N3+1);
LLDDD:=BARSLAST(LLCC);
LLGDTS:=IF(LLCC,CURRBARSCOUNT,0);
LLDINGBU:=IF(LLDDD,REF(H,LLDDD),H);{ 顶部}
LLDINGBUTS:=IF(LLDDD,REF(LLGDTS,LLDDD),LLGDTS);
LLDINGBU1:=REF(LLDINGBU,LLDDD+1);
LLGDCS1:=CONST(LLDINGBUTS);
LLDINGBUTS1:=REF(LLDINGBUTS,LLDDD+1);
LLGDCS2:=CONST(LLDINGBUTS1);
LLDINGBU2:=REF(LLDINGBU1,LLDDD+1);
LLMM:=IF(CURRBARSCOUNT>LGDCS2,0,1);
{ DRAWLINE(CURRBARSCOUNT=LLGDCS2,H,ISLASTBAR,REF(H,LLGDCS2-1),1),COLORFF,POINTDOT;
DRAWLINE(CURRBARSCOUNT=LLGDCS1,H,ISLASTBAR,REF(H,LLGDCS1-1),1),COLORYELLOW,POINTDOT;}
LLAA1:=REF(L,N3)=LLV(L,2*N3+1);
LLQY1:=BACKSET(LLAA1,N3+1);
LLCC1:=FILTER(LLQY1,N3) AND L=LLV(L,N3+1);
LLDD1:=BARSLAST(LCC1);
LLDDTS:=IF(LLCC1,CURRBARSCOUNT,0);
LLYDB:=IF(LLDD1,REF(L,LLDD1),L);
LLDDTS1:=IF(LLDD1,REF(LLDDTS,LLDD1),LDDTS);
LLDDCS1:=CONST(LLDDTS1);
LLZDB:=REF(LLYDB,LLDD1+1);
LLDDTS2:=REF(LLDDTS1,DD1+1);
LLDDCS2:=CONST(LLDDTS2);
GDYL3:=DRAWLINE(CURRBARSCOUNT=LLGDCS2,H,CURRBARSCOUNT=LLGDCS1,H,1) COLORYELLOW;
DDZC3:=DRAWLINE(CURRBARSCOUNT=LLDDCS2,L,CURRBARSCOUNT=LLDDCS1,L,1) COLORYELLOW;
LZGSTAR:=(GDYL3+DDZC3)/2;
LZGEND:=CONST((GDYL3+DDZC3)/2);
LSTARDAY:=IF(LLDDCS2<LLGDCS2,LLDDCS2,LLGDCS2);
GDYL1:=DRAWLINE(CURRBARSCOUNT=GDCS2,H,CURRBARSCOUNT=GDCS1,H,1) COLORRED;
DDZC1:=DRAWLINE(CURRBARSCOUNT=DDCS2,L,CURRBARSCOUNT=DDCS1,L,1) COLORRED;
长线压力:DDZC1+(GDYL1-DDZC1)*0.,COLORRED;
长线支撑:DDZC1+(GDYL1-DDZC1)*0.,COLORRED;
中线压力:DDZC2+(DDYL2-DDZC2)*0.,COLORGREEN;
中线支撑:DDZC2+(DDYL2-DDZC2)*0.,COLORGREEN;
短线压力:DDZC3+ (GDYL3-DDZC3)*0.,COLORBLUE;
短线支撑:DDZC3+(GDYL3-DDZC3)*0.,COLORBLUE;
L中轨:DRAWLINE(CURRBARSCOUNT=LSTARDAY,LZGSTAR,ISLASTBAR,LZGEND,1),COLORYELLOW;
中轨:DRAWLINE(CURRBARSCOUNT=STARDAY,ZGSTAR,ISLASTBAR,ZGEND,1),COLORWHITE;
长GDYL:DRAWLINE(CURRBARSCOUNT=GDCS2,H,CURRBARSCOUNT=GDCS1,H,1) COLORRED,POINTDOT;
长DDZC:DRAWLINE(CURRBARSCOUNT=DDCS2,L,CURRBARSCOUNT=DDCS1,L,1) COLORRED,POINTDOT;
中DDYL:DRAWLINE(CURRBARSCOUNT=LGDCS2,H,CURRBARSCOUNT=LGDCS1,H,1) COLORWHITE,POINTDOT;
中DDZC:DRAWLINE(CURRBARSCOUNT=LDDCS2,L,CURRBARSCOUNT=LDDCS1,L,1) COLORWHITE,POINTDOT;
短GDYL:DRAWLINE(CURRBARSCOUNT=LLGDCS2,H,CURRBARSCOUNT=LLGDCS1,H,1) COLORYELLOW,POINTDOT;
短DDZC:DRAWLINE(CURRBARSCOUNT=LLDDCS2,L,CURRBARSCOUNT=LLDDCS1,L,1) COLORYELLOW,POINTDOT;
发布DDD脚手架到Maven仓库,IntelliJ IDEA 配置一下即可使用
小傅哥,技术UP主,分享了如何将自建的DDD脚手架发布到Maven仓库,让使用者在IntelliJ IDEA上配置即可直接使用。发布过程涉及到对Maven Central仓库的转发赚源码了解和操作。小傅哥分享了发布步骤和遇到的挑战。
在年,小傅哥发布了两款DDD脚手架:轻量版lite和标准版std,提供给学习者下载本地使用。但小傅哥发现,实际使用中,构建和配置过程中经常出现错误,这让他决定提供更简便的使用方式。
他思考到,既然自己能发布其他工具到Maven仓库,那为何不能发布脚手架呢?但发布到仓库的通常为Jar包,而脚手架的配置需要特定文件。经过研究,小傅哥发现,Maven仓库提供了archetype-catalog.xml文件,用于定义脚手架,这使得脚手架能够被IntelliJ IDEA识别和使用。
为了实现这一目标,台风ddos源码小傅哥首先尝试了发布Jar包到Maven仓库,但发现版本更新后,原有的方式无法使用。他考虑过仅发布到阿里云私有仓库,但觉得这样不够理想。经过研究和实践,小傅哥最终找到了新版发布Jar包到Maven仓库的方法。
小傅哥分享了整个发布流程,从技术调研到操作步骤。包括登录注册、配置NameSpace、上传要求、项目源码、构建、上传archetype-catalog.xml和打包文件到Maven仓库的详细步骤。最终成功地将脚手架发布到Maven仓库,使使用者可以在IntelliJ IDEA中轻松配置并使用。
产品代码都给你看了,可别再说不会DDD(二):DDD概念大白话
本文系列聚焦于DDD(领域驱动设计)在实际项目的落地应用,以码如云平台为例,深入讲解了战略设计与战术设计的实践。码如云是一个基于二维码的一物一码管理平台,提供应用、页面、控件、实例等核心功能,支持二维码扫码操作与表单提交,技术架构基于无代码平台,使用Java、Spring Boot和MongoDB等工具。
战略设计关注业务模型的划分,核心概念包括通用语言、领域、子域和限界上下文。其主要目的是解决软件模块化问题,确保业务逻辑与技术实现的解耦。战略设计侧重于宏观层面,为后续战术设计提供基础。
战术设计聚焦于代码实现,其中聚合根、实体和资源库等概念扮演关键角色。聚合根作为业务逻辑的主要承载者,其设计需遵循高内聚、低耦合原则。领域服务是聚合根无法完成的业务逻辑的补充,用于处理跨聚合操作或依赖技术基础设施的场景。实体与值对象概念区分了具有生命周期的“存在”与描述性对象,工厂类用于封装对象构建过程。
领域事件则表示领域模型中的业务操作结果,用于处理组件之间的因果关系。资源库作为聚合根的管理器,确保数据的保存与获取。应用服务作为领域模型的接口,协调用户请求与领域模型处理,实现业务逻辑的封装与调用。
在码如云项目中,这些概念得到了充分的实践与应用,通过详细的源代码示例,展示了DDD在实际开发中的具体应用与实现。后续文章将对战略设计与战术设计中的各个概念进行深入探讨与解析,为读者提供更全面的理解与实践指导。
.Net8+Abp.vNext+SqlSugar的DDD领域驱动设计后端开源框
YiFramework
一个基于.Net8+Abp.vNext+SqlSugar的DDD领域驱动设计的后端开源框架,旨在简化复杂性,让新手入门和项目二次开发变得轻松。
中文名“意框架”,结合了Java的Ruoyi Vue3.0前端,模块化设计,让使用者可以根据业务需求自由选择引用或弃用模块,既大而全,又易于探索独特见解。
英文名“YiFramework”,框架以SqlSugar的理念出发,注重用户体验,适合学习.Net8、Sqlsugar和项目二次开发。遵循MIT协议,提供自由度极高的源码,允许用户随意修改(需注明源代码出处)。
模块包括但不限于:Rbac后台管理系统、App移动端系统,均已在官网上线,用户可自行部署访问。
官方网站地址:ccnetcore.com(已上线,欢迎加入)
教程导航详细,包括文档、框架代码、模块代码、运维CICD等,旨在全方位支持用户。
设计理念在于简化复杂性,不拘泥于严格的DDD原则,而是基于多次项目实践,提炼出一套易于使用的最佳实践。在确保用户友好性的同时,追求快速开发的效率。
技术栈包括C# Asp.NetCore 8.0和js Vue3.2,提供完整功能,内置模块减少重复工作,展示框架的优雅。
重点支持RABC权限管理系统(采用Ruoyi前端),并提供演示截图。源码可直接下载,项目地址为橙子/Yi.Admin。