设计模式学习与使用杂谈之面向对象设计原则

面向对象设计原则


1.SRP:单一职责原则

就一个类而言,其职责应该只有一个.(使类最小颗粒化)。

附件1中的结构,类Ractangle就违反了SRP,Ractangle中的方法draw()方法提供绘制图形的作用,供ComputationGeometryApplication使用,方法area()方法提供计算面积的作用,GraphicalApplication使用,对于Ractangle类,赋予了两个职责:1)绘制图形2)计算面积(数学几何).

我们对SRP的理解和灵活使用可以让了解面向对象编程.

2.OCP:开放-封闭原则

一个类应该对扩展开放,对修改封闭

软件实体(类,模块,函数等)应该是可以扩展的,但是不可修改的。

扫描二维码关注公众号,回复: 710539 查看本文章

在java中,我们在增加修改某一接口或者类的时候,要使用继承或者组合/聚合等方式来实现,而不是在原有类中进行修改。

该原则是面向对象设计原则中的最重要的原则之一.它体现了面向对象设计的封装,抽象等特性.很多设计模式都会符合该设计原则.

3.LSP:Liskov替换原则

子类型必须能够替换掉它们的基类型。

4.DIP:依赖倒转原则

抽象不应该依赖于实现,实现应该依赖于抽象.

高层业务逻辑不应该依赖于底层,两者都应该依赖于抽象.


5.IOP:接口隔离原则

不应该强迫客户依赖于它们不用的方法。接口属于客户,不属于它所在的类层次接口。

猜你喜欢

转载自717189149.iteye.com/blog/1510656