• Factory Method
  • 简单工厂, 根据参数创建不同的类
  • 静态工厂,单例工厂
    • public interface Sender{
          public void Send();
      }
      public class MySender implements Sender{
          @Override
          public void Send(){}
      }
      public SenderFactory {
          public static Sender produceStatic() {
              return new MySender();
          }
          public Sender produce(){
              return new MySender();
          }
          public Sender produce(int i){
              return new MySender();
          }
      }
  • 工厂子类继承工厂接口, 不同产品对应不同工厂
    • public interface AbstractFactory {
          public MySender produce();
      }
      public class MyFactory implements AbstractFactory {
          @Override
          public MySender produce(){
              return new MySender();
          }
      }
  • 抽象工厂