设计模式——概括

来源:互联网 发布:java让代码只执行一次 编辑:程序博客网 时间:2024/05/14 13:48

面向对象设计原则:

1.单一职责原则:一个类只负责一个功能领域中的相应职责

实现高内聚低耦合

 

2.开闭原则:软件实体应对扩展开放,对修改关闭

可以非常方便地对系统进行扩展,而且在扩展时无须修改现有代码,使得软件系统在拥有适应性和灵活性的同时具备较好的稳定性和延续性;抽象化是开闭原则的关键

3.里氏代换原则:所有引用基类对象的地方能够透明地使用其子类的对象

体现多态

4.依赖倒转原则:抽象不应该依赖于细节,细节应该依赖于抽象

依赖倒转原则要求我们在程序代码中传递参数时或在关联关系中,尽量引用层次高的抽象层类,即使用接口和抽象类进行变量类型声明、参数类型声明、方法返回类型声明,以及数据类型的转换等,而不要用具体类来做这些事情。为了确保该原则的应用,一个具体类应当只实现接口或抽象类中声明过的方法,而不要给出多余的方法,否则将无法调用到在子类中增加的新方法。

在引入抽象层后,系统将具有很好的灵活性,在程序中尽量使用抽象层进行编程,而将具体类写在配置文件中,这样一来,如果系统行为发生变化,只需要对抽层进行扩展,并修改配置文件,而无须修改原有系统的源代码,在不修改的情况下来扩展系统的功能,满足开闭原则的要求。

在实现依赖倒转原则时,我们需要针对抽象层编程,而将具体类的对象通过依赖注入(DependencyInjection, DI)的方式注入到其他对象中,依赖注入是指当一个对象要与其他对象发生依赖关系时,通过抽象来注入所依赖的对象。常用的注入方式有三种,分别是:构造注入,设值注入(Setter注入)和接口注入。构造注入是指通过构造函数来传入具体类的对象,设值注入是指通过Setter方法来传入具体类的对象,而接口注入是指通过在接口中声明的业务方法来传入具体类的对象。这些方法在定义时使用的是抽象类型,在运行时再传入具体类型的对象,由子类对象来覆盖父类对象。

 

5.接口隔离原则:使用多个专门的接口,而不使用单一接口

 

6.合成复用原则:尽量使用对象组合,而不是继承来达到服用的目的

 

7.迪米特法则:一个软件实体应当尽可能少地与其他实体发生相互作用

 

 

0 0
原创粉丝点击