设计原则:对象之间的关系
我们执着于面《向对象编程》,而多数情况我们都在使用《面向类型编程》,今天简单快速的回顾一下对象的之间的关系。
先谈谈类型之间的关系类型之间的依赖,这里进一步划分为两类:
- 显式依赖:在参数中显式的表达了依赖。
- 隐式依赖:没有在参数中显式的表达依赖,直接在方法中创建了某个类型的实例,然后使用。
类型之间的关联从某种程度上来讲也属于一种依赖,在这个维度讲,也可以将其划分为两类:
- 显式依赖:使用构造方法或方法注入关联。
- 隐式依赖:没有使用构造方法或方法注入关联,直接在构造方法中创建了某个类型的实例,然后赋值给关联。
集合关联属于整体和个体的关系,复合关联属于整体和部分的关系,两者的区别在于语义上,技术上表现非常一致,从DDD上来讲,复合关联的双方属于同一个聚合,集合关联的双方属于两个聚合。
实现和继承会影响运行时消息的发送。
对象之间的关系对象之间只有依赖和关联。
为什么需要依赖和关联
行为需要数据,数据表现为依赖和关联。
示例需求:a.m1先执行,然后执行b.m2。
注意:这里只给出了常见的实现方式,还会有其他形式,如:采用Event的方式。
备注上边的草图是开会期间画的。