组合/聚合可以使系统更加灵活,类与类之间的耦合度降低,一个类的变化对其他类造成的影响相对较少,因此一般首选使用组合/聚合来实现复用;其次才考虑继承,在使用继承时,需要严格遵循里氏代换原则,有效使用继承会有助于对问题的理解,降低复杂度,而滥用继承反而会增加系统构建和维护的难度以及系统的复杂度,因此需要慎重使用继承复用。
此原则和里氏代换原则氏相辅相成的,两者都是具体实现"开-闭"原则的规范。违反这一原则,就无法实现“开-闭”原则,首先我们要明白合成和聚合的概念:
(1)合成:表示一个整体与部分的关系,指一个依托整体而存在的关系。在UML中,组合关系用带实心菱形的直线表示。
(2)聚合:聚合是比合成关系的一种更强的依赖关系,也表示整体与部分的关系。在UML中,聚合关系用带空心菱形的直线表示。
领取专属 10元无门槛券
私享最新 技术干货