zoukankan      html  css  js  c++  java
  • 2. Model-Driven-Design,Entity

    提出问题

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

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

    关注点分离

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

    领域实体Entity

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

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

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

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

  • 相关阅读:
    【转】 cin、cin.get()、cin.getline()、getline()、gets()等函数的用法
    HDU How many prime numbers
    《大学ACM的总结 》(转载)
    POJ 最小公倍数
    HDU 开门人和关门人
    HDU shǎ崽 OrOrOrOrz
    HDU Saving HDU 2111
    HDU 1106 排序
    strtok函数()
    HDU 2187汶川地震
  • 原文地址:https://www.cnblogs.com/weilai1917/p/12383719.html
Copyright © 2011-2022 走看看