图说设计模式六种关系

1.实现关系:继承抽象类

  用一条带虚线的空心箭头表示

                
2.泛化关系:继承非抽象类

  用一条带实线的空心箭头表示

                


3.聚合关系:用于表示实体对象之间的关系,表示整体由部分构成,其中的整体和部分不是强依赖的,即使整体不存在了,部分仍然存在。
  比如,一辆汽车,它由发动机、轮胎以及其它零件等组成。但是将它拆成各种零件以后,这辆汽车就不存在了,但是发动机、轮胎以及其它零件还是存在的。

  用一条带实线的空心菱形箭头表示

          


4.组合关系:同样表示整体由部分构成的语义,其中的整体和部分是一种强依赖的特殊聚合关系,如果整体不存在了,则部分也不存在了。
  比如,如果公司倒闭了,那公司的各个部门也将不存在了。

  用一条带实线的实心菱形箭头表示

           


5.关联关系:描述不同类的对象之间的结构关系。它是一种静态关系,通常与运行状态无关,一般由常识等因素决定的。它一般用来定义  对象之间静态的、天然的结构;所以,关联关系是一种“强关联”的关系。
  比如,有一个类Person它有name、age、id(身份证号码)等属性;另一个类IdCard(身份证类)它有picutre、homeAddr、id(身份证号码)等属性。那么它们的对象可以通过id相互关联起来,具体描述一个人的不同方面。感觉有点像数据库不同表之间,根据字段相关联的意思。

  用一条实线表示

   


6.依赖关系:依赖关系描述一个对象在运行期间用到另一个对象的关系;是一种临时性的关系,通常在运行期间产生,并且随着运行时的变    化,依赖关系可能发生变化。依赖也有方向,双向依赖是一种非常糟糕的结构,应该始终保持单向依赖,避免双向依赖。最终代  码中,依赖关系体现为类构造方法和类方法的传入参数,依赖关系除了临时知道对象外,还会使用对方的方法和属性。

   用一条带虚线的箭头表示

   

参考:https://blog.csdn.net/jianfpeng241241/article/details/49617449/

猜你喜欢

转载自www.cnblogs.com/backflow/p/10199808.html
今日推荐