1、开闭原则
开闭原则,准确一点说,是开放封闭原则,意思是对内开放,对外封闭。如果我们能够熟悉JAVA语言的三大特性(当然,也有人说是四大),那么我们就会很容易理解这里的内外,否则就可能有些摸不着头脑了。
用程序来说,就是对扩展开放,这个设计是可以扩展的;对修改封闭,程序在扩展的时候,不需要修改原有的设计,体现了很好的扩展性和封装性。
2、两个特征
遵循开闭原则设计出的模块具有两个主要特征:
对于扩展是开放的(Open for extension),这就需要我们设计的软件是可以扩展的,不仅仅局限于当前这一种情景下。
对于修改是关闭的(Closed for modification),这是说当我们进行扩展的时候,是不需要更改原有的代码的,保证了之前代码的完整性。
3、场景举例
对于开闭原则,简单使用这样的理论,可能会比较枯燥,也不那么容易理解。举例说明我们生活中常见的场景,比如,当我们出门旅游,有一个同伴走丢了,我们要找他,向路人问路的时候,会描述,这人多大年纪,多高,胖还是瘦。经常看到在派出所录口供的场景,我们会突然想起一些其它的特征,比如,这人是左撇子,眼睛是碧绿色的等等。
在我们前面的描述中,这个人是一种状态,当我们再添加一个特征的时候,我们只需要在口供之后添加一些特征即