开闭原则

本文阐述了开闭原则的基本概念及其在软件设计中的重要性,介绍了如何通过接口和抽象类来实现系统的扩展性而不改动现有代码。文中还讨论了策略模式等多种设计模式对开闭原则的应用,并给出了遵循该原则的具体建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开闭原则的概念,软件实体对扩展开发对修改关闭
实现开闭原则的关键,
利用接口或抽象类抽象出系统的抽象层,抽象层不变,利用实现层进行扩展;
对可变性的封装,将可变的元素封装起来,防止改变扩散到整个应用;
 注意控制封装的粒度,不要将两种可变性封装到一起
继承是用来封装可变性的,一般的继承层次不要超过两层;
 策略模式是对开闭原则的很好诠释,其他还有工厂模式、建造模式、桥接模式、门面模式、调停者模式、访问者模式和迭代子模式等;
 对“将条件转移语句改写成多态性”的重构行为应当遵循开闭原则,防止多态性污染;
java下的单方法接口通常用来实现函数指针或者委托的功能;
任何一棵继承树都要以抽象类为根,具体类不是用来继承的,更不要从工具类继承;
抽象类要拥有尽可能多的共同代码,同时拥有尽可能少的数据。
 当Coad条件全部满足时,才应当考虑使用继承:派生类是基类的一个特殊种类,而不是其的一个角色,也就是说要区分“Has-a”和“Is-a”;永远不 会出现需要将派生类换成另外一个类的派生类的情况;派生类具有扩展基类的责任而不是具有置换或注销基类的责任;只有在分类学角度上有意义时,才可以使用继 承。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值