Why Domain Model Design ?

来源:互联网 发布:网络聊天的利与弊 编辑:程序博客网 时间:2024/05/22 04:49
      软件的生命性:一个有生命的软件首先必须有一个灵活可扩展的基础架构,其次才是完整的功能。软件的关键还是架构的灵活性和可扩展性。基础架构好,功能添加只是时间和工作量问题。


    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和设计模式一样,不是一种新的理论,而是实战经验的总结,它将前人使用面向模型设计的方法经验提炼出来,供后者学习,以便迅速找到驾驭我们软件项目的根本之道。
原创粉丝点击