码迷,mamicode.com
首页 > 其他好文 > 详细

组合/聚合复用原则

时间:2019-11-03 10:29:24      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:img   des   pos   att   code   设计原则   html   好处   例子   

组合/聚合复用原则(Composite/Aggregate Reuse Principle)是面向对象设计原则的一种。组合/聚合复用原则是指尽量使用组合/聚合,不要使用类继承。在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分,新对象通过向这些对象的委派达到复用已有功能的目的。就是说要尽量的使用合成和聚合,而不是继承关系达到复用的目的。

技术图片

 

组合/聚合复用原则是什么

  • 尽量采用组合(contains-a)、聚合(has-a)的方式而不是继承(is-a)的关系来达到软件的复用目的

假如新对象的一些功能在其他已经创建好的对象里面已经实现,那么应该尽可能使用其他对象提供的功能,使之成为新对象的一部分,而不要再重新创建。

组合/聚合的优点:类相互间的耦合度比较低,一个类的变动对别的类造成的影响较为少,组合/聚合的缺点:类的数量增多实现起来较为复杂

组合/聚合复用原则好处

  • 可以降低类与类之间的耦合程度
  • 提高了系统的灵活性

组合/聚合复用原则例子

 

    public void talk(String name) {
        System.out.println(name + " say hello");
    }
    public void walk(String name) {
        System.out.println(name + " move");
    }
}

public class Manager extends Person { 
}

public class Employee extends Person {
}

 

根据组合/聚合复用原则大家需要首选组合,然后才能是继承,使用继承时需要严格的遵守里氏替换原则,务必满足“Is-A”的关系是才可以使用继承,而组合却是一种“Has-A”的关系。

由上面的代码能够看出,Manager和Employee继承了Person,但实际上每一个不同的职位具有不同的角色,如果大家填加了角色这个类,那麼继续使用继承的话只能使每个人只能具有一种角色,这显然是不科学的。

组合/聚合复用原则

标签:img   des   pos   att   code   设计原则   html   好处   例子   

原文地址:https://www.cnblogs.com/numpycomcn/p/11785139.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!