<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    城市獵人

    在一網(wǎng)情深的日子里,誰能說得清是苦是甜,只知道確定了就義無反顧
    posts - 1, comments - 7, trackbacks - 0, articles - 89

    模式(四-1):簡單工廠(Simple Factory)模式

    Posted on 2008-07-22 10:03 sailor 閱讀(165) 評論(0)  編輯  收藏 所屬分類: 模式
    工廠模式是專門負責將大量有共同接口的類實例化,而且不必事先知道每次是要實例化哪一個類的模式。

    一、工廠模式有三種形態(tài)  
        簡單工廠(Simple Factory)模式 ,又稱靜態(tài)工廠模式
     工廠方法(Factory Method)模式,又稱多形性工廠(Polymorphic Factory)模式
     抽象工廠(Abstract Factory)模式,又稱工具箱(Kit或Toolkit)模式 

    二、簡單工廠模式

            《Head First 設計模式》認為它不是一個設計模式,更像一種編程習慣,優(yōu)點是可以將客戶端程序從具體類中解耦,不失為一個簡單的方法。

    1、定義
        
    簡單工廠模式是由一個工廠對象決定創(chuàng)建出那一種產(chǎn)品類的實例,它是由一個工廠類根據(jù)傳入的參量決定創(chuàng)建出哪一種產(chǎn)品類的實例。

    2、角色
        簡單工廠模式涉及到工廠角色、抽象角色以及具體產(chǎn)品角色等
        
        工廠類(Creator)角色:擔任這個角色的是工廠方法模式的核心,含有與應用緊密相關的商業(yè)邏輯。工廠類在客戶端的直接調用下創(chuàng)建產(chǎn)品對象,它往往由一個具體的JAVA類實現(xiàn)。

        抽象產(chǎn)品(Product)角色:擔任這個角色的類是工廠方法模式所創(chuàng)建的對象的父類,或他們共同擁有的接口。抽象產(chǎn)品角色可以用一個java接口或者Java抽象類實現(xiàn)。

        具體產(chǎn)品(Concrete Product)角色:工廠方法模式所創(chuàng)建的任何對象是這個角色的實例,具體產(chǎn)品角色由一個具體java類實現(xiàn)。

    3、實例


     1package com.sailor.simpleFactory;
     2
     3public abstract class Product {
     4
     5    public void produce(){
     6        System.out.println("生產(chǎn)產(chǎn)品");
     7    }

     8    
     9    public abstract void category();
    10
    11    
    12    public abstract int salePrice();
    13    
    14}

    15

     1/**
     2 * 
     3 */

     4package com.sailor.simpleFactory;
     5
     6/**
     7 * 具體產(chǎn)品
     8 * @author sailor
     9 * Jul 22, 2008 10:15:14 AM
    10 */

    11public class Car extends Product{
    12
    13    @Override
    14    public void category() {
    15        System.out.println("生產(chǎn)小汽車");
    16    }

    17
    18    @Override
    19    public int salePrice() {
    20        return new Integer(10000);
    21    }

    22
    23}

    24


     1package com.sailor.simpleFactory;
     2
     3/**
     4 * 具體產(chǎn)品
     5 * @author sailor
     6 * Jul 22, 2008 10:17:12 AM
     7 */

     8public class Pizza extends Product{
     9
    10    @Override
    11    public void category() {
    12        System.out.println("生產(chǎn)Pizza");
    13    }

    14
    15    @Override
    16    public int salePrice() {
    17        return 20;
    18    }

    19
    20}


     1/**
     2 * 工廠
     3 * @author sailor
     4 * Jul 22, 2008 10:13:23 AM
     5 */

     6public class SimpleFactory {
     7
     8    public static Product createProduct(String product){
     9        if("car".equals(product))
    10            return new Car();
    11        else if("pizza".equals(product))
    12            return new Pizza();
    13        else
    14            return null;
    15    }

    16}

     1package com.sailor.simpleFactory;
     2
     3/**
     4 * 客戶端
     5 * @author sailor
     6 * Jul 22, 2008 10:20:59 AM
     7 */

     8public class Client {
     9
    10    /**
    11     * @param args
    12     */

    13    public static void main(String[] args) {
    14        
    15        Product product1 = SimpleFactory.createProduct("car");    
    16        product1.category();
    17        product1.produce();
    18        System.out.println("銷售額: " + product1.salePrice());
    19        
    20        
    21        Product product2 = SimpleFactory.createProduct("pizza");
    22        product2.category();
    23        product2.produce();
    24        System.out.println("銷售額: " + product2.salePrice());    
    25    }

    26}
    主站蜘蛛池模板: 午夜精品射精入后重之免费观看| 日韩亚洲不卡在线视频中文字幕在线观看 | 亚洲欧洲免费视频| 日本红怡院亚洲红怡院最新| 国产亚洲精品资在线| 久久影视综合亚洲| 亚洲精品tv久久久久久久久| 国产亚洲精品国产| 久久精品国产精品亚洲艾 | 日韩成人免费在线| 国产在线不卡免费播放| 哒哒哒免费视频观看在线www| 国产免费69成人精品视频| 亚洲av麻豆aⅴ无码电影| 久久乐国产精品亚洲综合| 亚洲日韩一页精品发布| 亚洲第一精品福利| 亚洲精品亚洲人成在线麻豆| 亚洲不卡中文字幕| 亚洲av无码无线在线观看| 精品女同一区二区三区免费播放| 九九免费精品视频在这里| 中文在线免费不卡视频| a级毛片免费高清毛片视频| 99爱在线精品视频免费观看9| 无码国产精品一区二区免费式直播| 成年人视频在线观看免费| 亚洲国产成人影院播放| 亚洲人成人网站色www| 麻豆亚洲av熟女国产一区二| 亚洲人成77777在线观看网| 黄床大片30分钟免费看| 好久久免费视频高清| 性短视频在线观看免费不卡流畅| 夜夜嘿视频免费看| 久久激情亚洲精品无码?V| 亚洲黑人嫩小videos| 亚洲av中文无码字幕色不卡| 一级成人毛片免费观看| 巨波霸乳在线永久免费视频| 国产免费午夜a无码v视频|