• 简单工厂模式(simple factory )


    简单工厂模式的构成
    工厂类   (Creator)角色:担任这个角色的是简单工厂模式的核心,含有与应用紧密相关的商业逻辑。工厂类在客户端的直接调用下创建产品对象,它往往由一个具体类实现。
    抽象产品(Product)角色:担任这个角色的类是简单工厂模式所创建的对象的父类,或它们共同拥有的接口。抽象产品角色可以用一个接口或者抽象类实现。
    具体产品(Concrete Product)角色:简单工厂模式所创建的任何对象都是这个角色的实例,具体产品角色由一个具体类实现。

     1 /*工厂类   (Creator)角色*/
     2   package simplefactory;
     3 public class Creator
     4 {
     5     public static Product createProduct(String str)
     6     {
     7         if("A".equals(str))
     8         {
     9             return new ConcreteProductA();
    10         }
    11         else if("B".equals(str))
    12         {
    13             return new ConcreteProductB();
    14         }
    15         
    16         return null;
    17     }
    18 }
    19 
    20 /*抽象产品(Product)角色*/
    21 package simplefactory;
    22 public abstract class Product
    23 {
    24 
    25 }
    26 
    27 /*具体产品(Concrete Product)角色*/
    28 package simplefactory;
    29 public class ConcreteProductA extends Product
    30 {
    31 
    32 }
    33 /*具体产品(Concrete Product)角色*/
    34 package simplefactory;
    35 public class ConcreteProductB extends Product
    36 {
    37 
    38 }
    39 
    40 package simplefactory;
    41 public class Client
    42 {
    43     public static void main(String[] args)
    44     {
    45         Product productA = Creator.createProduct("A");
    46         
    47         System.out.println(productA.getClass().getName());
    48         
    49         Product productB = Creator.createProduct("B");
    50         
    51         System.out.println(productB.getClass().getName());
    52     }
    53 }
  • 相关阅读:
    sql查询指定表外键约束
    C#6.0新特性
    事务嵌套
    怎么在项目中应用委托
    单线程与多线程
    winform线程下载网页信息
    Linux笔记 FHS目录结构
    Linux笔记 Linux文件系统
    Linux笔记 软件管理
    Linux笔记 vi/vim编辑器
  • 原文地址:https://www.cnblogs.com/daneres/p/4823109.html
Copyright © 2020-2023  润新知