1;开——闭 原则
2;里氏替换原则
3:依赖倒转原则
4:接口隔离原则
5:组合/聚合服用原则
6;迪米特发原则
7;单一职责
首先:开闭原则:软件实体对扩展开发,对修改关闭,优点:通过扩张已有的模块,提供新的行为。满足新的需求,使得标价中的软件系统有一定的适应性和灵活性,,
2已有的软件模块,突然别是最重要的抽象层模块不能在修改,这就使得变化中的模块有一定的稳定性和延续性。
怎样才能做到开闭原则?
抽象化,为系统定义一个不再改变的抽象设计,这个设计预见了所有可能的变化。满足了开闭原则的::闭,慢找到系统中变化的部分,,把可变性封装起来。使用继承
或者其他方式来封装变化,将变化封装在一个方法中或者一个类中
其次:里氏原则:
如果一个软件实体使用一个基类的话,那么一点适合于它的子类。页就是基类出现的地方,子类一定可以出项,替换后软件的行为不会发生变化,而且根本就不能事变出
基类和子类对象的区别。
注意:如果子类不能完整地实现父类的方法,或者父类的某些方法在子类中已经发生“畸变”,则建议断开父子关系,采用依赖、聚合、组合等关系代替继承
再次:依赖倒转:
面向接口编程。不要依赖于实现编程,高层模块不一个依赖于底层模块,两个都依赖于抽象
然后:接口隔离原则:
用专门的接口比用一个总的接口好,一个类对另外一个类的依赖性应当建立在最小接口上的
第五:组合/聚合复用原则:
继承破坏封装,增加两个类之间的耦合度,超类的继承是静态的,不可能在运行时间内发生改变,由此没有组够的灵活性
类和类的关系:依赖、关联、泛化、实现、聚合、组合
什么是依赖:当一个类的行为需要依赖于另外一个类的行为才能实现时,我们就称这种关系叫做依赖,
什么是关联:一个类中有另一个类的实例,但是关系为可有可无时,我们称这种关系叫做关联,
什么是泛化:所谓泛化实际上就是继承的意思,
什么是实现:实现就是接口和类的实现关系
什么是聚合:从字面意思说,一个物体时另外一个物体的组成部分,引用到类就是一种特殊的关联,表示一个类是另一个类的组成部份
什么是组合:组合是一种强聚合,是密不可分的关系,表示一个类是另一个类必须的部分
第六:什么是迪米特原则:又叫最少原则:一个对下步伐对其他对象有尽可能少的了解,这个法则能够减少讴歌,类之间的耦合越小,月有利于服用
第七:单一原则:实际就是高内聚,松耦合,高内聚体现的是单一职责的原则