接口隔离原则_设计模式之七大设计原则(上)
·

这是雷总20多年前写的汇编程序,像诗一样优雅

而中国诗词讲究平仄、押韵、对仗等一系列的规则原则,
那么想要写出像诗一样优雅的程序你不得不知的 -- 设计模式之七大原则:
1.开闭原则:对修改关闭,对扩展开放。
2.单一职责原则:每个类、方法只负责一个职责或功能。
3.接口隔离原则:接口设计要精简单一。
4.里氏替换原则:子类可以扩展父类的功能,尽量不修改父类原有的功能。
5.依赖倒置原则:高层不依赖底层,两者都该依赖接口。(面向接口编程)
6.迪米特法则:也称最少知道原则;只和你的朋友说话,不与陌生人说话。
7.合成复用原则:尽量先使用组合或聚合实现关联关系,其次在考虑使用继承关系
开闭原则
一天小A开发了某项功能经过测试并上线。但有一天这项功能需要进行升级,此时小A 已离职,接管小A 的小B 不是在小A的源码上进行扩展,而是直接拿源码进行修改,造成了测试需要重新测试原来已上线的功能。这样不仅使生产效率降低,而且还降低了系统稳定性;当软件需要变化时,尽量通过扩展软件来实现变化,而不是通过修改已有的代码来实现变化。(祖传代码不能动)单一职责原则
5人组装一台电脑主机步骤一:将主板安装到机箱上。步骤二:将CPU安装到主板并加上CPU风扇。步骤三:将内存条、显卡、硬盘安装到主板上。步骤四:将电源安装到机箱上并接入CPU、主板、显卡。步骤五:电源线整理并封箱。前置条件:5人不会组装电脑。岗前培训:此时领导培训该五位新人,讲解如何完整的组装一台电脑,但5位新人并没有完全吸收领导所讲解的。实操:5人单人作业 pk 5人流水作业
5人单人作业:每人负责完整的组装步骤,由于缺少实操,在每个步骤上都卡壳,领导也只能给每一位新人逐步解答。5人流水作业:每人只负责一个步骤,即使5人不会完整的组装电脑,但相对单人作业模式会减少许多问题。
把每人人比作类来看,即可得出 每个类、方法只负责一个职责或功能从而降低类或方法的复杂度。从而提高程序的可读取性。接口隔离原则
某笔记本电脑需要两个type-c插槽,一个既能充电又能传输数据,另一个仅数据传输;
此时定义一个type-c接口:
interface TypeC { //数据传输 public function data(); //充电 public function charge();}具有实现类:
//typc1class TypeC1 implements TypeC{ public function data(){ echo "实现数据传输"; } public function charge(){ echo "实现充电"; }}//typc2class TypeC2 implements TypeC{ public function data(){ echo "实现数据传输"; } public function charge(){ throw new \Exception("我可能会爆炸"); }}此时TypeC2并不需要实现充电接口。
将其修改之:
interface Charge{ //充电 public function charge();}interface TypeC { //数据传输 public function data();}具体实现类:
class TypeC1 implements TypeC,Charge{ public function data(){ echo "实现数据传输"; } public function charge(){ echo "实现充电"; }}class TypeC2 implements TypeC{ public function data(){ echo "实现数据传输"; }}充电接口单独提取出来,需要实现充电接口的Type-c去实现.其客户端不应该依赖它不需要的接口,这就是接口隔离原则。

更多推荐
所有评论(0)