GoF之组合/聚合复用原则
在学习UML的时候就接触过组合/聚合的概念,它们是整体-部分的关系,只是关系的强弱不同,聚合是一种弱的”拥有“关系;组合是一种强的”拥有“关系。经过下面的一些介绍,对于组合/聚合复用原则有个认识,并且知道它们的使用场合。 组合/聚合复用原则(Composition/AggregationPrinciple )该原则就是在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分:新的对象通过向这些对象的委派达到复用已有功能的目的。 其实这里最终要的地方就是区分“has-a”和“is-a”的区别。继承虽好,可以实现父类代码的复用,但是相对于合成和聚合,继承的缺点在于:父类的方法全部暴露给子类。父类如果发生变化,子类也得发生变化。聚合的复用的时候就对另外的类依赖的比较的少。。
对比两种关系的优缺点,并不能说明哪一种好哪一种不好,只能在实际情况中,设计人员进行判断到底使用哪一种耦合关系。
这是第五个原则了,后面是一个法则,而且我会有比较有意思的例子说明,敬请期待。。。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |