面向对象设计原则
1.SRP:单一职责原则
就一个类而言,其职责应该只有一个.(使类最小颗粒化)。
附件1中的结构,类Ractangle就违反了SRP,Ractangle中的方法draw()方法提供绘制图形的作用,供ComputationGeometryApplication使用,方法area()方法提供计算面积的作用,GraphicalApplication使用,对于Ractangle类,赋予了两个职责:1)绘制图形2)计算面积(数学几何).
我们对SRP的理解和灵活使用可以让了解面向对象编程.
2.OCP:开放-封闭原则
一个类应该对扩展开放,对修改封闭
软件实体(类,模块,函数等)应该是可以扩展的,但是不可修改的。
在java中,我们在增加修改某一接口或者类的时候,要使用继承或者组合/聚合等方式来实现,而不是在原有类中进行修改。
该原则是面向对象设计原则中的最重要的原则之一.它体现了面向对象设计的封装,抽象等特性.很多设计模式都会符合该设计原则.
3.LSP:Liskov替换原则
子类型必须能够替换掉它们的基类型。
4.DIP:依赖倒转原则
抽象不应该依赖于实现,实现应该依赖于抽象.
高层业务逻辑不应该依赖于底层,两者都应该依赖于抽象.
5.IOP:接口隔离原则
不应该强迫客户依赖于它们不用的方法。接口属于客户,不属于它所在的类层次接口。