大话设计模式之类与类之间的关系读后感

引言:让我们重温经典,致敬经典

类与类之间的关系有四种:1.关联关系 2.依赖关系 3.组合(合成)关系 4.聚合关系

我们日常的开发中肯定会用到类,但是类和类之间的关系who care,反正我可以开发,但是知道他们之间会让你写出更具美感的代码。代码是一种艺术!

1.关联关系:当一个类‘知道’另一类的时候,可以用关联关系

栗子:好比代理模式中的代理者和被代理者,他们就是关联关系。代理者需要知道被代理者。再好比,大雁(类)需要知道气候(类),这也是关联关系。

2.依赖关系:当一个类需要依赖另一类的时候,他们之间是依赖关系

栗子:好比简单工厂模式,工厂类和各个产品子类是依赖关系,工厂方法模式中,各个产品工厂和与之对应的产品类是依赖关系,再好比人和氧气是依赖关系。

3.组合(合成)关系:是一种强的拥有关系,体现了严格的部分和整体的关系。生命周期是一样的。

栗子:好比策略模式中的context和strategy类,他们就是组合关系,表现为一个类初始化的时候,类中的引用对象也需要初始化,好比装饰者模式中的Comonent和Decorator,再好比鸟和翅膀他们也是组合关系,如果鸟死了,翅膀的生命周期也结束了。反之鸟出生的时候,翅膀也存在。

4.聚合关系:表现一种弱的拥有关系,体现在A对象可以包含B对象,但是B对象不是A对象的一部分。

栗子:大雁和雁群,雁群中可以包含大雁,但是大雁不是雁群中的一部分,或者一个类中引用另一个类,但是这个类初始化的时候,另一个类并不需要实例化,只是在需要到这个引用类的时候才初始化。

最后:如果说的不对的地方,欢迎指正,谢谢!勿喷~

原文地址:https://www.cnblogs.com/zfding/p/8688813.html