A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zlb820 中级黑马   /  2016-6-9 23:33  /  1123 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

开闭原则
开闭原则是java里最基础的设计原则。
定义:一个软件如类,模块,函数应该对扩展开放,对修改关闭。
通俗的理解:软件实体应该对扩展开放,对修改关闭,其含义是一个软件实体应该通过扩展来实现变化,而不是通过修改已有的代码来实习那变化。(软件实体包括:项目或者软件产品中按照一定的逻辑规则划分的模块;抽象和类;方法)。
注意:开闭原则对扩展开放,对修改关闭,并不意味着不做任何修改,低层次模块的变更,必然要有高层次模块进行耦合,否则就是一个孤立无意义的代码。
变化归纳为以下三种:
1.逻辑变化
2.子模块变化
3.可见视图变化
其他的原则都是对开闭原则的具体形态,开闭原则是精神领袖。
开闭原则的重要性:
1.开闭原则对测试有重要影响
2.开闭原则可以提高复用性
3.开闭原则可以提高可维护性
4.面向对象开发需求
如何使用开闭原则:
1.抽象约束
通过接口或者抽象类可以约束一组可能变化的行为,实现对扩展开发包含三层含义:
第一。通过接口或抽象类对扩展边界进行限定,来约束扩展,不允许出现在接口或抽象类中不存在的public方法
第二。参数类型,引用对象尽量使用接口或者抽象类,而不是实现类
第三。抽象层尽量保持稳定,一旦确定不允许修改。
2.元数据控制模块行为
元数据是指用来描述环境和数据的数据,通俗的说就是配置参数,参数可以从文件中获得。 元数据控制模块的极致例子就是控制反转。
3.制定项目规程
约定优于配置。大家一个团队,有一个共同遵守的规则。
4.封装变化
封装变化,就是受保护的变化,找出预计有变化或者不稳定的点,我们为这些变化点创建稳定的接口,封装可能的变化,23个设计模式就是从不同的角度进行变化的封装、

3 个回复

倒序浏览
楼主太给力了十个字有没有
回复 使用道具 举报
毅往志乾 发表于 2016-6-10 00:33
楼主太给力了十个字有没有

呦呦呦  切克闹
回复 使用道具 举报
毅往志乾 发表于 2016-6-10 00:33
楼主太给力了十个字有没有

呦呦呦  切克闹
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马