设计模式之禅之六大设计原则-开闭原则
开闭原则
一:开闭原则的定义
--->一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。
--->我们做一件事情,或者选择一个方向,一般需要经历三个步骤:What——是什么,Why——为什么,How——怎么做(简称3W原则,How取最后一个w)
--->对于开闭原则,我们也采用这三步来分析,即什么是开闭原则,为什么要使用开闭原则,怎么使用开闭原则?
二:如何使用开闭原则
--->抽象约束。
(1)定义接口,如果业务有变化,则重写类中的方法,不修改原有代码。就是对扩展开放,对修改关闭。
--->元数据(metadata)控制模块行为
(1)编程是一个很苦很累的活,那怎么才能减轻我们的压力呢?答案是尽量使用元数据来控制程序的行为,减少重复开发。什么是元数据?用来描述环境和数据的数据,通俗地说就是配置参数,参数可以从文件中获得,也可以从数据库中获得。
----->制定项目章程
(1)制定规范,统一风格编程
----->封装变化
(1)对变化的封装包含两层含义:第一,将相同的变化封装到一个接口或抽象类中。第二:将不同的变化封装到不同的接口或抽象类中,不应该有两个不同的变化出现在同一个接口或抽象类中。
三:最佳实践
---->软件设计最大的难题就是应对需求的变化,但是纷繁复杂的需求变化又是不可预料的。则6大设计原则以及23个设计模式来“封装”未来的变化。
---->开闭原则也只是一个原则。
(1)开闭原则只是精神口号,实现拥抱变化的方法非常多,并不局限这6大设计原则,但是遵循6大设计原则基本可以应对大多数变化。
(2)开闭原则,是其他五大原则的宗旨。其他五大原则,是开闭原则的具体实现