• 设计模式--简单工厂模式--简记


    简单工厂一般分为:

      1.普通简单工厂

      2.多方法简单工厂

      3.静态方法简单工厂

    一、普通简单工厂

      概念:就是建立一个工厂类,对实现了统一接口的一些类进行实例的创建。

     1 //公共接口
     2 public interface Sender {
     3     public void send();
     4 }
     5 
     6 //实现类1
     7 public class MailSender implements Sender {
     8 
     9     @override
    10     public void send() {
    11         System.out.println("Send Email");
    12     }
    13     
    14 }
    15 
    16 //实现类2
    17 public class SmsSender implements Sender {
    18 
    19     @override
    20     public void send() {
    21         System.out.println("Send Sms");
    22     }
    23     
    24 }
    25 
    26 //建立工厂类
    27 public class FactorySend {
    28     public Sender produce(String type){
    29         if("mail".equals(type){
    30             return new MainSender();
    31         }
    32         if("sms".equals(type){
    33             return new SmsSender();
    34         } else {
    35             return null;
    36         }
    37     }
    38     
    39 }         

    二、多个方法简单工厂

      概念:提供多个工厂方法,分别创建对象。

     1  //建立工厂类
     2 public class FactorySend {
     3 
     4      public Sender produceMail(){
     5 
     6             return new MainSender();
     7      }
     8 
     9     public Sender produceSms(){
    10 
    11             return new SmsSender();
    12      }
    13      
    14  }

    三、多个静态方法简单工厂

      概念:提供多个静态工厂方法,分别创建对象。

     1  //建立工厂类
     2 public class FactorySend {
     3 
     4      public static Sender produceMail(){
     5 
     6             return new MainSender();
     7      }
     8 
     9      public static Sender produceSms(){
    10 
    11             return new SmsSender();
    12      }
    13      
    14  }

    工厂模式应用:

      大量产品需要创建,并且具有共同的接口。

      多数情况下使用静态工厂方法模式较好一点。  

     存在的问题:类的创建依赖工厂类,想要拓展的话,必须修改工厂类。

  • 相关阅读:
    AdaBoost学习笔记
    隐马尔科夫模型(HMM)学习笔记二
    隐马尔可夫模型(HMM)学习笔记一
    k-means学习笔记
    pandas练习(四)--- 应用Apply函数
    pandas练习(三)------ 数据分组
    pandas练习(二)------ 数据过滤与排序
    pandas练习(一)------ 了解数据
    Android Studio Error:CreateProcess error=216
    玩QQ游戏,见到好几个图像是美女的QQ,就不始玩
  • 原文地址:https://www.cnblogs.com/fqfanqi/p/8511523.html
Copyright © 2020-2023  润新知