a97e3487bc87664659b3c754fee388b3.png

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

e3a8406846d5f4d1bbdb5fc8486eb3e0.png

而中国诗词讲究平仄、押韵、对仗等一系列的规则原则,

那么想要写出像诗一样优雅的程序你不得不知的 -- 设计模式之七大原则:

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去实现.其客户端不应该依赖它不需要的接口,这就是接口隔离原则。


47f5ccfba06262092b4df51925b22838.png

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐