zoukankan      html  css  js  c++  java
  • 面向对象/面向过程, 值对象/实体


    面向对象和面向过程

    这里缺少主语
    谁面向?
    面向过程的主体是人,或者一个事物,过程是一个流程,面向过程就是这个流程或流程主体的生命周期。
    面向对象的主体是上帝,他俯瞰这些事物,看这些事物的生死变化,
    而继承则是对抽象,这又是人的概念了。这里的继承和我们的财产继承不同。
    财产继承是一个人可以代替另一个人,并且有更强大的能力。他们都是具体的。
    面向对象的继承是抽象的概念继承。苹果继承水果,他们都是抽象的东西。
    而封装,是抽象的基础,抽象是继承的基础

    特性是某些属性,方法,类的某些特征的抽象,所以可以用作AOP。

     领域驱动设计的思考:

    值对象,不体现业务。因为只关注他的属性
    因为是不可变的,所以不叫值类。
    类有属性,这是好理解的。这是抽象的结果。
    实体的的方法呢?
    有些类,有主动性,比如学生,他自己活动,会自己驱动自己,自己产生事件,自己有方法。
    有些类,不会做事情,只能让别的类来操作它。比如一本书,他有方法吗?我们讲充血模型,一本中怎么写方法呢?
    一个订单,只能让用户创建,发货,修改他的属性,他自己好像没方法啊!
    虽然如此,他自己还是能完成动作的。虽然不是主动,我可以触发它的。比如有一种书,有一个按钮,点击了,就会翻一页。那么就有一个翻页的动作,这个动作可以写在书中,而人可以触发点击按钮的事件。

    那么这里的方法,首先应该是自足的,就是他不会依赖别的类,就像这里的翻页,他不用依赖人,或者风。
    苹果落地,这个虽然是引力驱动的,但从小的业务环境来看,是它的自己熟透了,自己落的。

    气功波(18037675651)
  • 相关阅读:
    读取xml文件(可执行文件根目录debug)
    c# winform textbox与combox让用户不能输入
    枚举类型
    值类型与引用类型
    error: failed to push some refs to 'https://git.oschina.net/bluede/TuShuGuanLi.g it'
    left join on 和where中条件的放置位置
    left join、right join、inner join、full join
    Union、Union All、Intersect、Minus
    分层设计的好处
    Hibernate查询方式
  • 原文地址:https://www.cnblogs.com/qgbo/p/11385217.html
Copyright © 2011-2022 走看看