设计原则的使用

Reading time ~2 minutes

此文章为原创文章,引用请标记文章出处: 设计原则的使用

概述

设计模式使用场景 一文中已经可以知道设计模式的使用场景了,那么和设计模式离不开的设计原则呢?在文本将主要描述六大设计原则的实现。

1.“开-闭”原则(OCP)

OPEN CLOSE PRINCIPLE:一个软件实体(类和功能方法)应当不修改现有代码的基础上,引入新功能。

  • 多使用抽象类和接口

对于具有相似行为的类进行抽象化处理,将公共的部分放到抽象父类中,当需要扩展的时候,只需要实现一个具体的子类即可。

对于没有公共的部分,可以设定一个处理接口,当需要扩展的时候,只需要子类实现该接口来实现不同的行为。

  • 封装变化部分

尽可能地将会发生变化的内容独立出来,单独封装,而将这一部分作为抽象为其它部分调用。这样一旦有变化的需求,只需要修改或者更新封装的部分即可适应整体的变化,大大减少了变化的内容。

2.单一职责原则(SRP)

Single Responsibility Principle:不要让类实现过多的功能点,最好一个类一个功能点,以确保一个实现类只有一个引起它变化的原因。

3.依赖倒换原则(DIP)

Dependence Inversion Principle:在类的实例变量声明中应该尽量使用接口作为对象实例变量类型,这样就将类和具体实现之间解耦了

4.接口隔离原则(ISP)

Interface Segregation Principle:如果把接口比作角色,那么不同的角色分别代表不同的接口,且接口中的方法都只能属于这个角色的

5.里氏替换原则(LSP)

Liskov Substitution Principle:使用抽象类或接口作为方法的参数类型,然后将具体的子类型作为实际运行的参数传入,实现具体的行为处理

6.迪米特法则(LOD)

Low Of Demeter:尽量不要让类和类之间建立直接的关系,如果需要建立关系,最好通过其友元类来中转建立关系。但也带来的缺点就是可能存在大量的中介者类充当中转的角色,造成类的膨胀以及系统处理的复杂度。所以,在实际中还是要权衡使用LOD法则

参考资料

  1. 一本好书《软件秘笈 设计模式那点事》

jdk-timer、spring-task、quartz的比较

这篇文章将简单介绍目前常用的定时任务框架! Continue reading

小岛经济学-读书笔记

Published on May 10, 2018

java常见的http请求库

Published on May 05, 2018