zoukankan      html  css  js  c++  java
  • 设计原则:对象之间的关系

    背景

    我们执着于面《向对象编程》,而多数情况我们都在使用《面向类型编程》,今天简单快速的回顾一下对象的之间的关系。

    先谈谈类型之间的关系

    类型之间的依赖,这里进一步划分为两类:

    1. 显式依赖:在参数中显式的表达了依赖。
    2. 隐式依赖:没有在参数中显式的表达依赖,直接在方法中创建了某个类型的实例,然后使用。

    类型之间的关联从某种程度上来讲也属于一种依赖,在这个维度讲,也可以将其划分为两类:

    1. 显式依赖:使用构造方法或方法注入关联。
    2. 隐式依赖:没有使用构造方法或方法注入关联,直接在构造方法中创建了某个类型的实例,然后赋值给关联。

    集合关联属于整体和个体的关系,复合关联属于整体和部分的关系,两者的区别在于语义上,技术上表现非常一致,从DDD上来讲,复合关联的双方属于同一个聚合,集合关联的双方属于两个聚合。

    实现和继承会影响运行时消息的发送。

    对象之间的关系

    对象之间只有依赖和关联。

    为什么需要依赖和关联

    行为需要数据,数据表现为依赖和关联。

    示例

    需求:a.m1先执行,然后执行b.m2。

    注意:这里只给出了常见的实现方式,还会有其他形式,如:采用Event的方式。

    备注

    上边的草图是开会期间画的。

  • 相关阅读:
    C++ string 实现大整数相加减
    HDU2489 Minimal Ratio Tree 【DFS】+【最小生成树Prim】
    Quick-Cocos2d3.2RC1在Code IDE中实现代码提示
    Codeforces 558C Amr and Chemistry
    Linux编程---进程通信
    HDU 5371 Hotaru's problem(Manacher算法+贪心)
    微社区
    创业忌讳
    微信公众平台开发(82) 天气预报
    天气预报接口
  • 原文地址:https://www.cnblogs.com/happyframework/p/3332553.html
Copyright © 2011-2022 走看看