zoukankan      html  css  js  c++  java
  • 设计模式——工厂方法

    工厂角色:

    package designpattern.creation.factorymethod;
    
    public class FactoryA {
    
        public IProduct getProduct() {
            return new ProductA();
        }
        
    }
    
    
    package designpattern.creation.factorymethod;
    
    public class FactoryB {
    
        public IProduct getProduct() {
            return new ProductB();
        }
        
    }

    产品角色:

    package designpattern.creation.factorymethod;
    
    public interface IProduct {
    
        void use();
    }
    
    package designpattern.creation.factorymethod;
    
    public class ProductA implements IProduct {
    
        public void use() {
            // TODO Auto-generated method stub
            System.out.println("ProductA.use()");
        }
    }
    
    package designpattern.creation.factorymethod;
    
    public class ProductB implements IProduct {
    
        public void use() {
            // TODO Auto-generated method stub
            System.out.println("ProductB.use()");
        }
    
    }

    客户端:

    package designpattern.creation.factorymethod;
    /*
     * 
     * 工厂方法用于处理更加复杂的情况。
     * —— 当产品出现不用种类的时候。
     * 为什么 称这种模式为工厂方法? ?
     * 
     * 要素:
     * 
     * 1 只有多个工厂
     * 2 工厂有一个方法 ,每个工厂只负责生产一个产品
     * 3 客户端通过调用不同工厂的相同方法获取对应的不同的产品
     * 
     * 缺点:
     * 每增加一个产品则需要增加2个类: 一个工厂、一个具体产品—— 这样导致类的膨胀
     * 
     * 
     * 使用场景?
     * 
     */
    public class Client {
    
        /**
         * @param args
         */
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            IProduct product = new FactoryA().getProduct();
            product.use();
    
            IProduct product2 = new FactoryB().getProduct();
            product2.use();
        }
    
    }
  • 相关阅读:
    二 关键词关键词扩展(五)
    二 关键词关键词竞争程度判断(三)
    discuz X2.5 门户diy风格模版制作教程
    二 关键词关键词分布(六)
    seo各种跳转
    js 判断未定义
    网站运营赚钱的小心得
    二 关键词核心关键词(四)
    asp实现301跳转的方法
    UVA 11258 String Partition
  • 原文地址:https://www.cnblogs.com/FlyAway2013/p/3916821.html
Copyright © 2011-2022 走看看