欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

设计模式系列:软件架构设计的七大原则之合成复用原则

程序员文章站 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