`
ekinsa1
  • 浏览: 3051 次
  • 来自: 重庆
社区版块
存档分类
最新评论

(每日记录学习)贫血模型和领域模型

 
阅读更多
贫血模型
贫血模型:整个对象充当为一个容器、只提供get、set方法,几乎没有多余的方法。

优点:使用比较广泛、简单。编写比较简单的业务逻辑时非常快速。
      service事务边界比较清楚。一般每个service方法对应一个事务和实例。

缺点:业务都在service里面,如果业务过多,不太便于维护。
      业务过多,还回出现很多的重复逻辑。

领域模型
领域模型:负责关键逻辑,业务逻辑在多个领域模型中分配。

优点:领域模型采用oo设计,通过将职责分配到相应的模型对象或Service,可以很好的组织业务逻辑,当业务变得复杂时,领域模型显出巨大的优势。
      领域模型的重用性比较好。

确定:不太适合初学者,对领域模型理解要深
      领域模型对项目的影响比较深
      小项目实用用领域模型有点大材小用
分享到:
评论

相关推荐

    贫血模型or领域模型

    贫血模型or领域模型的举例对比,让你初步了解贫血模型与领域模型的区别和概念

    失血贫血充血胀血模型.docx

    1. 学习曲线:理解和实现充血模型可能需要对领域建模有较深的理解。 2. 测试复杂性:由于领域对象包含了复杂的业务逻辑,测试可能更为复杂。 【胀血模型】 胀血模型是对充血模型的一种扩展,领域对象不仅包含业务...

    领域模型说明及范例代码.zip

    领域模型(Domain Model)和贫血模型(Anemic Domain Model)是两种常见的模型设计模式,它们各有特点,适用于不同的场景。本资料包旨在通过实例对比,帮助初学者理解这两种模型的区别和概念,并提供实际的Java代码...

    对贫血和充血模型的理解

    这类文档通常会详细介绍贫血和充血模型的概念、优缺点、适用场景以及实际应用案例。通过阅读这些资料,开发者可以更好地理解各种设计模式的适用条件,从而在实际工作中做出更为合适的设计决策。 总之,贫血模型和...

    领域模型驱动设计1553265830.pdf

    - 贫血模型指的是领域对象只包含了数据访问方法(get和set方法)和一些简单的CRUD(创建、读取、更新、删除)方法,而所有的业务逻辑都放在了BusinessLogic层。 - 充血模型则是将大部分的业务逻辑和持久化逻辑放在了...

    11丨实战一(上):业务开发常用的基于贫血模型的MVC架构违背OOP吗?1

    3. 维护性:在大型项目中,通过分离关注点,贫血模型有助于团队协作和模块化开发。 然而,随着业务复杂性的增加,贫血模型的局限性也开始显现,如代码冗余、职责不清等。在以下情况下,我们可能会考虑使用充血模型...

    行业分类-设备装置-一种建立小鼠重型再生障碍性贫血模型的方法.zip

    标题中的“行业分类-设备装置-一种建立小鼠重型再生障碍性贫血模型的方法”表明了这个文件内容涉及医学研究领域,特别是动物模型的构建,具体是关于小鼠的重型再生障碍性贫血(Severe Aplastic Anemia, SAA)模型。...

    领域驱动设计案例-盒马实践

    领域模型可以分为失血模型、贫血模型和充血模型三种类型。 失血模型 失血模型是基于数据库的领域设计方式,它指的是使用 POJO 数据对象来存储业务数据。在失血模型中,业务逻辑是分散的,分布在多个地方。 贫血...

    大白话领域驱动设计DDD视频教程

    贫血模型的优缺点? DDD提倡的充血模型是什么? 体会下充血模型开发微信钱包系统 聚合和聚合根是什么? 领域事件是什么? 看看领域事件的本质(解耦,异步,削峰) 工厂和资源库的作用? 领域服务是什么? 通过用例...

    领域模型设计技术实战篇.docx

    - 采用领域驱动设计的实践,比如贫血模型(Anemic Domain Model)和富领域模型(Rich Domain Model),以及Repository模式来管理领域对象。 通过上述分析,我们可以看到领域模型设计的关键在于理解业务逻辑,将其...

    tbl-demo-service-master.zip

    如果领域模型只是用来处理简单的逻辑(比如贫血模型),那么领域模型的作用微乎其微,甚至可以忽略,数据转换的成本比领域模型带来的好处还多,这种情况其实就是在原有的分层架构中多加了一层,增加了项目的复杂性和...

    领域驱动设计中的实现方式

    贫血模型,由 Martin Fowler 提出,是指领域对象仅仅作为数据容器,包含了属性的 getter 和 setter,但不包含任何业务逻辑。在这种模式下,业务逻辑通常被封装在服务层(如 ItemManager 或 ItemService)中,而不是...

    基于GO的六边形架构框架,可支撑充血的领域模型范式代码实现.rar

    在传统的贫血模型中,领域对象通常只包含数据,而业务逻辑则分散在服务层或其他地方。然而,在充血模型中,领域对象不仅包含了数据,还封装了大量的业务逻辑。这种方法使得领域模型更加生动且有力量,因为它们可以...

    领域模型浅析

    总结起来,领域模型和贫血模型各有优缺点,选择哪种模型取决于项目的需求、团队的技术背景以及业务的复杂性。在简单的场景下,贫血模型可能更合适;而对于复杂的业务流程和需要长期维护的项目,领域模型往往能提供更...

    DDD领域驱动设计day01.pdf

    - 第二天关注DDD实践篇,讲解如何基于领域模型进行数据库和程序设计,以及如何设计聚合、工厂和仓库。 - 第三天聚焦DDD架构篇,讨论如何构建支持领域驱动设计的技术中台和微服务架构,以及通过整洁架构支持技术架构...

    领域驱动设计和开发实战.pdf

    如果IT团队在开发大中型企业软件应用时没有遵循DDD方法,可能导致应用架构出现“肥服务层”和“贫血的领域模型”。这种架构下,业务逻辑分散在多个外观类中,导致维护困难、需求变更响应慢,无法为公司带来竞争优势...

    领域驱动设计和开发实战

    不采用领域驱动设计可能会导致"肥服务层"和"贫血的领域模型",其中业务逻辑过度集中在外观类中,而领域对象仅作为数据容器。这会增加维护难度,降低可测试性,且难以适应业务变化。因此,投资于领域模型的创建和实现...

Global site tag (gtag.js) - Google Analytics