1.策略模式 分别封装行为接口,实现算法族,超类里放行为接口对象,在子类里具体设定行为对象。原则就是:分离变化部分,封装接口,基于接口编程各种功能。此模式让行为算法的变化独立于算法的的使用者。 (1)继承缺点:虽然是实现代码复用,但是没法控制功能的区域性,即某个类继承某个父类即继承了父类的所有方法,但是子类可能不需要父类的某个方法,这就是无法控制功能的区域性。 2.工厂模式 常用的工厂模式是静态工厂,利用static方法。 通过类名.方法调用不需要知道内部实现细节, 3.抽象工厂模式 一个基础接口定义功能,每个实现接口的子类就是产品,如果我们新增产品只需要实现基础接口。 4.单例模式 在内部创建一个实例,构造器全部设置private,所有的方法均在实例上改动,在创建要注意类的实例化只能执行一次,可以采用多种方法实现,如Synchronized关键字,或者利用内部类等机制来实现。 5.建造者模式 设置一个实体类,每个属性都设置set方法,设置一个构造函数,设置一个b方法用来返回数据,外部调用实体类的构造方法.b(); 6.原型模式 原型模式就是讲一个对象作为原型,使用clone()方法来创建新的实例。 7.适配器模式 适配器模式的作用就是在原来的类上提供新功能。主要可分为3种: 1.类适配:创建新类,继承源类,并实现新接口,例如 class adapter extends oldClass implements newFunc{} 2.对象适配:创建新类持源类的实例,并实现新接口,例如 class adapter implements newFunc { private oldClass oldInstance ;} 3.接口适配:创建新的抽象类实现旧接口方法。例如 abstract class adapter implements oldClassFunc { void newFunc();} 8.代理模式 客户端通过代理类访问,代理类实现具体的实现细节,客户只需要使用代理类即可实现操作。 原文链接