设计模式分为三种类型,共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模式的基本思想是:在超类里将完成核心功能的方法声明为抽象方法,留给子类去实现,而在超类中完成一些通用操作

 

装饰(Decorator)模式 :对象本身的方法的功能分配给了内部对象执行