• 2. Model-Driven-Design,Entity


    提出问题

    在我大学毕业的时候,曾做过一些项目,常常会在业务对象中直接写入用户界面、数据库访问等支持代码,而一些业务逻辑则会被嵌入到用户界面组件和数据库脚本中。这也是为了以最简单的方式短期内完成任务。

    如果和领域有关的代码分散在大量的其他代码之中,那么查看和分析领域代码就会变得异常困难。

    关注点分离

    要想创建出能够处理复杂任务的程序,需要做到关注点分离,使得设计中的每个部分都得到独特的关注。
    领域驱动设计中,最常用的分层架构设计是,用户界面层,应用层,领域层,基础设施层。
    领域对象应该将是重点放在如何表达领域模型上,而不需要考虑自己的显示和存储问题。这样就可以使得模型的含义足够丰富,结构足够清晰,可以捕捉基本的业务知识,才是实现Model-Driven-Desgin的关键。

    领域实体Entity

    Entity可以是任何事物,只要满足两个条件:

    1. 它的生命周期中具有连续性;
    2. 它的区别并不是由那些对用户非常重要的属性决定的;

    在区分一个对象的时候,我们要确保每个对象有唯一的结果,例如演唱会的座位号是唯一的,那么座位就是Entity,如果采用入场券的方式,那么座位就不是Entity。

    所以我们区分实体的时候应当考虑它的属性和行为。

  • 相关阅读:
    Python笔记 #17# Pandas: Merge
    MVC相关资料收集
    Python笔记 #16# Pandas: Operations
    Least slack time scheduling
    Python笔记 #15# Pandas: Missing Data
    Python笔记 #14# Pandas: Selection
    C++中const引用的是对象的时候只能调用该对象的f()const方法
    模板与泛型编程
    c++中的单例模式
    C/C++异常处理机制
  • 原文地址:https://www.cnblogs.com/weilai1917/p/12383719.html
Copyright © 2020-2023  润新知