首先,合成/聚合是关联的一个种类。和继承都能达到复用的目的,但是为什么现在推荐用合成/聚合,而不推荐继承呢,
我觉得首先通过继承很容易把父类的内容暴露给子类,也不便于封装。还有就是如果父类修改了某些东西,子类就要跟着动,所谓牵一发而动全身,不便于维护。可能就是称为的白箱服用吧。而合成/聚合是暴露不出所添加对象的细节的称为黑箱。
区分他们重要的是Is-A、Has-A.
我觉得首先通过继承很容易把父类的内容暴露给子类,也不便于封装。还有就是如果父类修改了某些东西,子类就要跟着动,所谓牵一发而动全身,不便于维护。可能就是称为的白箱服用吧。而合成/聚合是暴露不出所添加对象的细节的称为黑箱。
区分他们重要的是Is-A、Has-A.
本文对比了继承和合成/聚合两种设计模式在软件复用中的应用,指出合成/聚合能更好地封装内部实现,减少耦合度,提高代码可维护性和可读性。重点阐述了Is-A与Has-A的概念区分。
1393

被折叠的 条评论
为什么被折叠?



