合成复用原则(composite reu principle),即尽量使用组合/聚合的方式,而不是使用继承。
现在假设有一个a类,里面有两个方法,有一个b类,想要复用这两个方法,请问有几种方案
继承的方式 定义a类,并定义两个方法
/** * 类a * @author:liyajie * @createtime:2022/2/9 9:50 * @version:1.0 */public class a { public void method1(){ system.out.println("你调用了方法一"); } public void method2(){ system.out.println("你调用了方法二"); }}
定义b类,并继承a类
/** * 类b * @author:liyajie * @createtime:2022/2/9 9:51 * @version:1.0 */public class b extends a{}
定义测试类
/** * 测试类 * @author:liyajie * @createtime:2022/2/9 9:52 * @version:1.0 */public class test { public static void洋洋得意的近义词 main(string[] args) { new b().method1(); new b().method2(); }}
查看结果
组合或者聚合方式 定义a类,并定义两个方法 和方案一相同,无需修改 定义b2类
/** * 类b2 * @author:liyajie * @createtime:2022/2/9 9:51 * @version:1.0 */public class b2{ a a = new a(); public void method1(){ a.method1(); } public void method2(){ a.method2(); }}
定义测试类
/** * 测试类 * @author:liyajie * @createtime:2022/2/9 9:52 * @version:1.0 */public class test2 { public slook的词组tatic void main(string[] args) { new b().method1(); new b().method2(); }}
查看结果
依赖方式 定义a类,并定义两个方法 和方案一相同,无需修改
定义b3类
/** * 类b3 * @author:liyajie * @createtime:2022/2/9 9:51 * @version:1.0 */public cla质化研究ss b3 { public void method1(a a){ a.method1(); } public沈阳航天航空大学 void method2(a a){ a.method2(); }}
定义测试类
方案一,使用继承方式,b类继承了a类之后,就可以使用了a类中的两个方法,这样耦合性较高,不推荐
方案二,该方案即为组合/聚合的方式,在b类里注入a,通过注入的a类来调用方法,耦合性低,易扩展。符合合成复用的原则,推荐
方案三,该方案通过把a类作为参数传递到b类的两个方法中,从而达到调用a类的方法,耦合性低。符合合成复用的原则,推荐
合成复用原则简单理解就一句话,尽量使用聚合和组合的方式,进行解耦,降低耦合性,而不是使用继承。至此java设计模式的七大原则,我们就整理完毕,下面我们来概括归纳一下:
开闭原则:要求对扩展开放,对修改关闭里氏替换原则:不要破坏继承体系依赖倒置原则:要求面向接口编程单一职责原则:实现类职责要单一接口隔离原则:在设计接口的时候要精简单一迪米特法则:只与直接的朋友的通信合成复用原高考总分数是多少2020则:尽量使用聚合和组合的方式,而不是使用继承一切为了程序高内聚,低耦合服务
1.找出应用中可能需要变化之处,独立出来,不要和不需要变化的代码混在一起
2.针对接口编程,而不是针对实现编程
3.为了交互对象的松耦合设计而努力
到此这篇关于java设计模式七大原则之合成复用原则详解的文章就介绍到这了,更多相关java合成复用原则内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!
本文发布于:2023-04-04 23:31:46,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/86837ff79312e14a070d340057832759.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:Java设计模式七大原则之合成复用原则详解.doc
本文 PDF 下载地址:Java设计模式七大原则之合成复用原则详解.pdf
留言与评论(共有 0 条评论) |