Java 设计模式原则

时间:2022-02-07 00:59:42

1、    找出应用中可能需要变化之处,把他们独立出来,不要和那些不需要变化的代码混在一起。

换句话说,如果每次新的需求一来,都会使某方面的代码发生变化,那么你就可以确定,这部分的代码需要抽出来,和其他稳定的代码有所区分。

或者说,把会变化的部分取出并封装起来,以便以后可以轻易地改动或扩充次部分,而不影响不需要变化的其他部分。

2、    针对接口编程,而不是这对实现编程

“针对接口编程”真正的意思是“针对超类型(supertype)编程”

这里所谓的“接口”有多个含义,接口是一个“概念”,也是一种Java的interface构造。你可以在不涉及Java interface的情况下,“针对接口编程”,关键就在多态。利用多态,程序可以针对超类型编程,执行时会根据实际状况执行到真正的行为,不会被绑死在超类型的行为上。“针对超类型编程”这句话,可以更明确地说成“变量声明类型应该是超类型,通常是一个抽象类或者一个接口,如此,只要是具体实现此超类型的类所产生的对象,都可以指定给这个变量”。这也意味着,声明类时不用理会以后执行时的真正对象类型。

“针对接口编程”可以很好的解耦合,使代码和思维更具有层次,也便于以后代码的更新。

3、    为了交互对象之间的松耦合设计二努力

松耦合的目的就是降低对象之间的互相依赖性,由于对象间的依赖降到最低,在以后因为各种因素致使我们更新某个对象代码的时候不会影响到其他的部分,而且能够轻松实现代码的复用。松耦合的设计之所以能让我们建立有弹性的OO系统,能够应对变化,是因为对象之间的互相依赖降到了最低。

4、    多用组合,少用继承

继承使重复的代码变多,而且使用继承会使子对象的状态、行为等收受制与超对象,不利于松耦合和代码的复用。