首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
软件设计、DDD概念及落地时的一些零碎思考和记录
】的更多相关文章
软件设计、DDD概念及落地时的一些零碎思考和记录
DDD理解 DDD体现的是对现实的充分尊重. 1.尊重业务现实,领域专家.领域语言等概念 2.尊重团队现实 3.尊重变化 Application 对某一业务线的整体掌控,流程组装,进度管理,存储时机掌控. 依赖外部模块的业务环节实现: 尽量满足UI需求: 落地:uow提交: Domain 业务线视作水平线的话,此处应在垂直方向上切分各业务线,重新整合抽象,处理具体的业务环节.业务步骤. 划分范围.确定职责,需要多维度多视角的考虑抽象: 粒度尽量小. 本质上是对业务逻辑处理过程的纯化,能用的技术手…
软件设计、DDD概念及落地时的一些零碎思考和记录2
主要是项目中一些落地经验和记录 技术人员.开发人员 大部分程序员真的不善于沟通,经常会显得很保守: 他们技术上的困惑.误解乃至郁闷都很难直接的表达清楚: 他们对自己的错误"印象"很深: 他们内心是希望提高.改进,出自各种目的,也包括为了轻松点或者"牛逼"点,这属于优点: ORM已经是一种现实的基础能力: 推进者 类似技术经理和技术组长这种直接面对程序员的职位必须有技术要求,如果发现他们不符合要求,需要警惕: 技术和设计理念的推进者必须有技术能力支持: 推进者无需成为…
DDD学习笔录——领域驱动设计DDD概念总结
…
领域驱动设计(DDD)
领域驱动设计(DDD)实现之路 2004年,当Eric Evans的那本<领域驱动设计——软件核心复杂性应对之道>(后文简称<领域驱动设计>)出版时,我还在念高中,接触到领域驱动设计(DDD)已经是8年后的事情了.那时,我正打算在软件开发之路上更进一步,经同事介绍,我开始接触DDD. 我想,多数有经验的程序开发者都应该听说过DDD,并且尝试过将其应用在自己的项目中.不知你是否遇到过这样的场景:你创建了一个资源库(Repository),但一段时间之后发现这个资源库和传统的DAO越来…
战术设计DDD
可落地的DDD(5)-战术设计 摘要 本篇是DDD的战术篇,也就是关于领域事件.领域对象.聚合根.实体.值对象的讨论.也是DDD系列的完结篇.这一部分在我们团队争论最多的,也有很多月经贴,比如对资源库的操作应该放在领域服务还是领域对象中.聚合根应不应该暴露给外部,还是要转成DTO.这些问题我们讨论了大半年,最后大家基本达成了共识,在当前的业务规模下,这些问题没那么重要,可东可西.不会对代码的质量有啥大的影响.关于DDD的实践,与团队的水平.业务复杂度息息相关.我们的经验并不一定就适用你们团队…
关于领域驱动设计 DDD(Domain-Driven Design)
以下旨在 理解DDD. 1. 什么是领域? 妈妈好是做母婴新零售的产品,应该属于电商平台,那么电商平台就是一个领域. 同一个领域的系统都有相同的核心业务. eg: 电商领域都有:商品浏览.购物车.下单.减库存.付款交易等核心环. 同一个领域要解决的问题 应该是类似的. 2. 什么领域驱动设计DDD? DDD是一种基于模型驱动开发的软件开发思想, 强调领域模型是整个系统的核心,领域模型也是整个系统的核心价值所在. 每一个领域,都有一个对应的领域模型,领域模型能够很好的帮我们解决…
分享我对领域驱动设计(DDD)的学习成果
本文内容提要: 1. 领域驱动设计之领域模型 2. 为什么建立一个领域模型是重要的 3. 领域通用语言(Ubiquitous Language) 4.将领域模型转换为代码实现的最佳实践 5. 领域建模时思考问题的角度 6.领域驱动设计的标准分层架构 7. 领域驱动设计过程中使用的模式 关联的设计 实体(Entity) 值对象(Value Object) 领域服务(Domain Service) 聚合及聚合根(Aggregate,Aggregate Root) 工厂(Factory) 仓储(Rep…
领域驱动设计(DDD:Domain-Driven Design)
领域驱动设计(DDD:Domain-Driven Design) Eric Evans的"Domain-Driven Design领域驱动设计"简称DDD,Evans DDD是一套综合软件系统分析和设计的面向对象建模方法,提出了领域模型概念,统一了分析和设计编程,使得软件能够更灵活快速跟随需求变化. 回顾历史: 服务器后端发展的三个阶段 UI+DataBase 最原始的两层架构,这种面向数据库的架构完全没有灵活性! UI+Service+DataBase 多层SOA架构, 这种服务+表…
我对领域驱动设计(DDD)的学习成果
领域驱动设计之领域模型 2004年Eric Evans发表Domain-Driven Design – Tackling Complexity in the Heart of Software (领域驱动设计),简称Evans DDD.领域驱动设计分为两个阶段: 1. 以一种领域专家.设计人员.开发人员都能理解的“通用语言”作为相互交流的工具,在不断交流的过程中不断发现一些主要的领域概念,然后将这些概念设计成一个领域模型: 2. 由领域模型驱动软件设计,用代码来表现该领域模型. 由此可见,领域驱…
python 全栈开发,Day116(可迭代对象,type创建动态类,偏函数,面向对象的封装,获取外键数据,组合搜索,领域驱动设计(DDD))
昨日内容回顾 1. 三个类 ChangeList,封装列表页面需要的所有数据. StarkConfig,生成URL和视图对应关系 + 默认配置 AdminSite,用于保存 数据库类 和 处理该类的对象 的对应关系 + 路由分发 _registry = { } 2. 知识点 inclusion_tag yield urlencode _meta.model_name _meta.app_label 深浅拷贝 QueryDict对象默认不可改 _mutable=True 生成器 路由分发: - i…