java 设计原则

java的设计有六大原则:

1:单一职责原则[SRP]

定义:

单一职责原则:应该有且仅有一个原因引起类的变更

There should never be more than one reason for a class to change

2:里氏替换原则[Liskov Substitution Principle]

3:依赖倒置原则[]

4:接口隔离原则[ISP]

Interface Segregation Principle

接口隔离原则是对接口进行规范约束,其包含以下四层含义:

4.1:

接口尽量要小。这是接口隔离原则的核心定义,不出现臃肿的接口(Fat Interface)

有的时候,你不会那么轻易地看出,是不是还需要再拆分为两个接口呢?

可以参考下面的原则

4.1.1:根据接口隔离原则拆分接口时,必须首先满足单一职责原则。

接口要高内聚。什么是高内聚?高内聚就是提高接口、类、模块的处理能力,减少对外的交互

4.1.2:

定制服务。一个系统或系统内的模块之间必然会有耦合,有耦合就要相互访问的接口(并不一定就是Java 中定义的Interface,也可能是一个类或者是单纯的数据交换),我们设计时就需要给各个访问者(也就客户端)定制服务

4.2:

接口设计是有粒度的。接口的设计粒度是越小系统越灵活,这是不争的事实,但是这就带来的结构的

复杂化,开发难度增加,维护性降低,这不是一个项目或产品所期望看到的,所有接口设计一定要注意适

度,适度的“度”怎么来判断的呢?根据经验和常识判断!

接口隔离原则是对接口的定义也同时是对类的定义,接口和都尽量使用原子接口或原子类来组装,但

是这个原子该怎么划分是这个模式也是设计中的一大难题,在实践中应用时可以根据以下几个规则来衡量:

一个接口只服务于一个子模块或者业务逻辑。

通过业务逻辑压缩接口中的public 方法。接口时常去回顾,尽量做让接口达到“满身筋骨肉”,而不

是“肥嘟嘟”的一大堆方法。

已经被污染了的接口,尽量去修改,若变更的风险较大,则采用适配器模式进行转化处理。

了解环境,拒绝盲从。每个项目或产品都有特定的环境因素,别看到大师是这样做的你就照抄,千万

别,环境不同的,接口拆分的标准就不同。深入了解的业务逻辑,最好的接口设计就出自的你的手!

4.3:

4.4:

5:迪米特法则[LKP or LoD]

Least Knowledge Principle

迪米特法则的核心观念就是类间解耦,弱耦合,只有弱耦合了以后,类的复用率才可以提高,其要求的结果就是产生了大量的中转或跳转类

6:开闭原则[OCP]

高内聚:

高内聚就是提高接口、类、模块的处理能力,减少对外的交互

低耦合:

我的理解:就是被调用者不应该把太多的方法暴露给调用者。


你可能感兴趣的:(java)