设计模式一概述
Posted 高级架构师
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式一概述相关的知识,希望对你有一定的参考价值。
1、每次新需求来,都会使某方面的代码发生变化,那么要确定把这部分代码要抽出来,和其他稳定的代码区分开。
2、把变化的部分取出并封装起来,以便以后可以轻松的改动和扩充此部分,而不影响不要变化的其他部分。
几乎所有的设计模式都背后的精神所在,所有的模式都提供了一套方法让“系统中的某部分改变不会影响其他部分”。
基于以上两点:面向对象程序设计需要遵循的七个原则,设计模式也是基于七个原则进行设计的。
第一原则:开闭原则的定义
开闭原则(Open Closed Principle,OCP)由勃兰特·梅耶(Bertrand Meyer)提出,他在 1988 年的著作《面向对象软件构造》(Object Oriented Software Construction)中提出:软件实体应当对扩展开放,对修改关闭(Software entities should be open for extension,but closed for modification),这就是开闭原则的经典定义。
这里的软件实体包括以下几个部分:
项目中划分出的模块
类与接口
方法
开闭原则的含义是:当应用的需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求。
开闭原则的作用
开闭原则是面向对象程序设计的终极目标,它使软件实体拥有一定的适应性和灵活性的同时具备稳定性和延续性。具体来说,其作用如下。
1. 对软件测试的影响
软件遵守开闭原则的话,软件测试时只需要对扩展的代码进行测试就可以了,因为原有的测试代码仍然能够正常运行。
2. 可以提高代码的可复用性
粒度越小,被复用的可能性就越大;在面向对象的程序设计中,根据原子和抽象编程可以提高代码的可复用性。
3. 可以提高软件的可维护性
遵守开闭原则的软件,其稳定性高和延续性强,从而易于扩展和维护。
开闭原则的实现方法
可以通过“抽象约束、封装变化”来实现开闭原则,即通过接口或者抽象类为软件实体定义一个相对稳定的抽象层,而将相同的可变因素封装在相同的具体实现类中。
因为抽象灵活性好,适应性广,只要抽象的合理,可以基本保持软件架构的稳定。而软件中易变的细节可以从抽象派生来的实现类来进行扩展,当软件需要发生变化时,只需要根据需求重新派生一个实现类来扩展就可以了。
以上是关于设计模式一概述的主要内容,如果未能解决你的问题,请参考以下文章