zoukankan      html  css  js  c++  java
  • 简单工厂模式(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 }
  • 相关阅读:
    委托经典--由浅入深讲解
    原生的AJAX
    asp.net传值
    flex做的圣杯布局
    弹性盒布局实例
    CSS3实现的几个小loading效果
    requireJS基本概念及使用流程(2)
    require.js的基本概念及使用流程(1)
    JSz中的静态方法和实例方法的分析
    前端性能优化的方法
  • 原文地址:https://www.cnblogs.com/daneres/p/4823109.html
Copyright © 2011-2022 走看看