0
点赞
收藏
分享

微信扫一扫

设计模式中的6大原则


1.单一职责原则

即一个类只负责一项职责,不要存在多于一个导致类变更的原因

 

2.里氏替换原则

子类可以扩展父类的功能,但是不能改变父类原有的功能 :

子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法

子类可以增加自己持有的方法

当子类重载父类的方法时,方法的形参要比父类方法的输入参数更宽松

当子类方法实现父类的抽象方法时,方法的返回值要比父类更严格

父类  变量名=NEW 子类();

 

3.依赖倒置原则

高层模块不应该依赖底层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。

面向接口编程:

先把客户的业务逻辑线提取出来,作为接口,业务具体实现通过该接口的实现类来完成。 当客户需求变化时,只需编写该业务逻辑的新的实现类,通过更改配置文件(例如Spring框架)中该接口 的实现类就可以完成需求,不需要改写现有代码,减少对系统的影响。

 

4.接口隔离原则

客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。

建立单一接口,尽量细化接口,接口中的方法尽量少,要为各个类建立专用的接口,不要建立庞大的接口供所有依赖它的类去调用。

提高内聚,减少对外交互,用最少的方法去完成最多的事情。

 

5.迪米特法则(最少知道原则)

一个对象应该对其他对象保持最少的了解。类与类的关系越密切,耦合越大,当一个类发生变化的时候对另一个类的影响也越大,尽量降低类与类之间的耦合。原则:低耦合,高内聚。

在采用最少知道原则时要反复权衡,做到结构清晰又高内聚低耦合。

 

6.开闭原则

一个软件实体如类,模块和函数应该对扩展开发,对修改关闭。软件变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化。软件实体尽量在不修改原有代码的情况下扩展,尽量不改,只增加。

只要我们前面的五种原则遵守好了,自然是符合开闭原则

 

总结:

单一原则告诉我们实现类要职责单一;里氏替换原则告诉我们不要破坏继承体系;

依赖倒置告诉我们要面向接口编程;接口隔离原则告诉我们在设计接口的时候要精简单一;

迪米特法则告诉我们要降低耦合;开闭原则是总纲,他告诉我们要对扩展开发,对修改关闭。

举报

相关推荐

0 条评论