设计模式分为三种类型,共23种。
创建型模式
单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式
eg.单例模式--静态内部类实现,利用类加载实现单例
public class A{
private static class B{
private static final A aInstance=new A();
}
public static final A getAInstance(){
return B.aInstance;
}
}
结构型模式
适配器模式、外观模式、代理模式等
ps
适配器模式
interface Target{
void targetMethod();
}
Class SpecialClass{
public void specialAction(){
do SomeThing();
}
}
Class Adapter extends SpecialClass implements Target{
public void TargetMethod(){
super.specialAction();
}
}
行为型模式
模版方法模式、迭代器模式、观察者模式等
Ps
集合类实现了iterable接口的使用迭代器模式
最简单的抽象类被实现类实现了就是模板方法模式
1建造者模式仅仅只比工厂模式多了一个“导演类”的角色
2抽象工厂模式是工厂方法模式的升级版本,他用来创建一组相关或者相互依赖的对象。他与工厂方法模式的区别就在于,工厂方法模式针对的是一个产品等级结构;而抽象工厂模式则是针对的多个产品等级结构
3最终目的都是为了解耦
4 Template模式的基本思想是:在超类里将完成核心功能的方法声明为抽象方法,留给子类去实现,而在超类中完成一些通用操作
5 装饰(Decorator)模式 :对象本身的方法的功能分配给了内部对象执行