Why Domain Model Design ?

本文探讨了领域驱动设计(DDD)在软件架构中的应用,强调高质量对象模型的重要性,并介绍了如何通过分层架构实现松耦合,提升软件的灵活性与可扩展性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      软件的生命性:一个有生命的软件首先必须有一个灵活可扩展的基础架构,其次才是完整的功能。软件的关键还是架构的灵活性和可扩展性。基础架构好,功能添加只是时间和工作量问题。


    Hibernate是一个基于对象模型持久化的对象,因此,关键是我们需要设计出高质量的对象模型,遵循DDD领域建模原则,减少降低关联,通过分层等有效办法处理关联。如果不首先设计Domain Model,而是设计数据库表,这就会和持久化工具设计目标背道而驰。
    领域建模解决了众多不协调问题,特别是ORM痛苦使用问题,关于ORM/Hibernate使用还是那句老话:如果你不掌握领域建模方法,那么久不要用Hibernate,对于这个层次的你:也许No ORM更是一个简单知道:No ORM:The simplest solution

    领域驱动设计DDD
    讨论重点:分层架构是我们使用Java的根本原因之一,域建模专家Eric Evans在他的“Domain Model Design”一书中开篇首先强调的是分层架构,整个DDD理论实际是告诉我们如何使用模型对象oo技术和分层架构来设实现一个JAVA项目。
    很多人知道Java项目基本有三层:表现层 业务层和持久层,当我们执著与讨论各层框架如何选择之时,实际上我们真正的项目开发工作还没有开始,就是我们选定了某种框架的组合(如Struts+Spring+Hibernate或Struts+EJB或Strust+JdonFramework),我们还没有意识到业务层工作还需要大量工作,DDD提供了在业务层中再划分新的层次的思想,如领域层和服务层,甚至再细分为作业层、能力层、策略层等等。通过层次细化方式达到复杂软件的松耦合。DDD提供了如何细分层次的方式。
    当我们将精力花费在架构技术层面的讨论和研究上时,我们可能忘记以何种依据选择这些架构技术?选择的标准是什么?领域驱动设计DDD回答了这样的问题,DDD会告诉你如果一个框架不能协助你实现分层架构,那就抛弃它,同时,DDD也指出选择框架的考虑目的,使得你不会人云亦云,陷入复杂的技术细节迷雾中,迷失了架构选择的根本方向。
    现在也有些人误以为DDD是一种新的理论,其实DDD和设计模式一样,不是一种新的理论,而是实战经验的总结,它将前人使用面向模型设计的方法经验提炼出来,供后者学习,以便迅速找到驾驭我们软件项目的根本之道。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值