开闭原则在SCA架构中的应用

来源:互联网 发布:无线打印机软件下载 编辑:程序博客网 时间:2024/06/04 18:52

开-闭”原则(Open-Closed Principle)是面向对象的可复用设计(Object Oriented Design或OOD)的基石。其他设计原则(里氏代换原则、依赖倒转原则、合成/聚合复用原则、迪米特法则、接口隔离原则)是实现“开-闭”原则的手段和工具。 

“开-闭”原则的定义

定义:一个软件实体应当对扩展开放,对修改关闭。
( Software entities should be open for extension,but closed for modification)。

在设计一个软件系统模块的时候,应该使这个模块可以在不被修改的前提下被扩展,或者说,可以在不必修改原来代码的情况下改变这个模块的行为。

满足“开-闭”原则的系统的优点

1)通过扩展已有的软件系统,可以提供新的行为,以满足对软件的新需求,使变化中的软件系统有一定的适应性和灵活性。
2)已有的软件模块,特别是最重要的抽象层模块不能再修改,这就使变化中的软件系统有一定的稳定性和延续性。
具有这样两个优点的系统是一个在高层次上实现了复用的系统,也是一个易于维护的系统。

“开-闭”原则的实现——抽象化

面向对象编程语言可以使用抽象的方法,为系统定义一个不再更改的抽象设计来作为系统的抽象层。这个抽象层覆盖了所有未来可能扩展,因此在任何情况都不会改变。这样使系统的抽象层保持不变,从而满足了开闭原则的第二点:对修改关闭。

由于从抽象层导出的一个或多个具体类可以改变系统的行为,因为系统的设计对扩展是开放的,从而满足了开闭原则的第一点:对扩展开放。

在SCA框架中,无论在commonj还是SPI;无论是composite还是component,都可以看到开闭原则的应用。

原创粉丝点击