焦作网站开发公司电话,深圳设计公司取名,营销型网站建设供货商,网页版传奇工作室基于业务开发的项目大多是MVC架构的。成为Web项目的标准开发模式#xff0c;但它却是违反面向对象编程风格的#xff0c;是面向过程的。之后基于领域驱动设计开发模式被人提倡。
DDD#xff08;Domain-driven design#xff09;领域驱动设计是一种通过将实现连接到持续进化…基于业务开发的项目大多是MVC架构的。成为Web项目的标准开发模式但它却是违反面向对象编程风格的是面向过程的。之后基于领域驱动设计开发模式被人提倡。
DDDDomain-driven design领域驱动设计是一种通过将实现连接到持续进化的模型来满足复杂需求的软件开发方法。领域模型是对业务模型的抽象DDD是把业务模型翻译成系统架构设计的一种方式。
贫血模型和充血模型
贫血模式与充血模式初探 - 简书
将数据与操作分离只包含数据不包含业务逻辑的类就叫作贫血模型Anemic Domain Model。它破坏了面向对象的封装特性是一种典型的面向过程的编程风格。
在贫血模型中数据和业务逻辑被分割到不同的类中。充血模型Rich Domain Model正好相反数据和对应的业务逻辑被封装到同一个类中。因此这种充血模型满足面向对象的封装特性是典型的面向对象编程风格。 区别 充血模型DDD开发方式下 贫血模型传统OOP开发方式下 编码方式 以领域对象为主的行为状态转换 事务脚本CRUD、判断、循环、检查等逻辑只是简单的方法级别拆分 Service 跨领域逻辑的组合 事务脚本的对外包装 Domain 一个领域的entity集合包 VO/DTO Entity 包含了一个领域里的状态、以及对状态的直接操作单元具有自闭环的对象。 VO/DTO ValueObject 简单的基本值对象如电话号码、地址等组成entity的基本单元 语言基本类型 Aggregation 有点类似数学中集合的定义将实体和值对象划分为聚合并围绕着聚合定义边界。 多个VO/DTO Aggregation Root 唯一可以给外界作为某个Aggregation引用的entity。 单个VO/DTO