设计模式系列:软件架构设计的七大原则之合成复用原则
程序员文章站
2022-03-04 19:59:28
不要求所有代码都遵循设计原则,要考虑人力、时间、成本、质量,不刻意追求完美意义提高代码的可读性、可维护性、可复用性。合成复用原则合成复用原则(Composite/Aggregate Reuse Principle,CARP)是指尽量使用对象组合(has-a)/聚合(contanis-a),而不是继承关系达到软件复用的目的。可以使系统更加灵活,降低类与类之间的耦合度,一个类的变化对其他类造成的影响相对较少。继承相当于把所有的实现细节暴露给子类。组合/聚合对类以......
不要求所有代码都遵循设计原则,要考虑人力、时间、成本、质量,不刻意追求完美
意义
提高代码的可读性、可维护性、可复用性。
合成复用原则
合成复用原则(Composite/Aggregate Reuse Principle,CARP)是指尽量使用对象组合(has-a)/聚合(contanis-a),而不是继承关系达到软件复用的目的。可以使系统更加灵活,降低类与类之间的耦合度,一个类的变化对其他类造成的影响相对较少。
继承相当于把所有的实现细节暴露给子类。组合/聚合对类以外的对象是无法获取到实现细节的。要根据具体的业务场景来做代码设计, 其实也都需要遵循OOP 模型。
以数据库操作为例,先来创建DBConnection 类
典型的合成复用原则应用场景。但是,目前的设计来说,DBConnection 还不是一种抽象,不便于系统扩展。目前的系统支持 MySQL 数据库连接,假设业务发生变化,数据库操作层要支持 Oracle 数据库。当然,我们可以在 DBConnection 中增加对Oracle 数据库支持的方法。但是违背了开闭原则。其实,我们可以不必修改 Dao 的代码, 将DBConnection 修改为abstract,来看代码
本文地址:https://blog.csdn.net/VIP099/article/details/107297419
上一篇: MATLAB imshow()函数