面向对象和面向过程
这里缺少主语
谁面向?
面向过程的主体是人,或者一个事物,过程是一个流程,面向过程就是这个流程或流程主体的生命周期。
面向对象的主体是上帝,他俯瞰这些事物,看这些事物的生死变化,
而继承则是对抽象,这又是人的概念了。这里的继承和我们的财产继承不同。
财产继承是一个人可以代替另一个人,并且有更强大的能力。他们都是具体的。
面向对象的继承是抽象的概念继承。苹果继承水果,他们都是抽象的东西。
而封装,是抽象的基础,抽象是继承的基础
特性是某些属性,方法,类的某些特征的抽象,所以可以用作AOP。
领域驱动设计的思考:
值对象,不体现业务。因为只关注他的属性
因为是不可变的,所以不叫值类。
类有属性,这是好理解的。这是抽象的结果。
实体的的方法呢?
有些类,有主动性,比如学生,他自己活动,会自己驱动自己,自己产生事件,自己有方法。
有些类,不会做事情,只能让别的类来操作它。比如一本书,他有方法吗?我们讲充血模型,一本中怎么写方法呢?
一个订单,只能让用户创建,发货,修改他的属性,他自己好像没方法啊!
虽然如此,他自己还是能完成动作的。虽然不是主动,我可以触发它的。比如有一种书,有一个按钮,点击了,就会翻一页。那么就有一个翻页的动作,这个动作可以写在书中,而人可以触发点击按钮的事件。
那么这里的方法,首先应该是自足的,就是他不会依赖别的类,就像这里的翻页,他不用依赖人,或者风。
苹果落地,这个虽然是引力驱动的,但从小的业务环境来看,是它的自己熟透了,自己落的。