<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      設計模式-創建型模式#抽象工廠AbstractFactory

      上一篇 工廠方法FactoryMethod 寫了之后感覺要寫就該把這PDF上的23種常用設計模式都寫完,所以今天又花了時間寫了一篇,其實這些都是照著書上打的,沒有任何的新鮮之處。


      抽象工廠
      提供一個創建一系列相關或相互依賴對象的接口,而無需指定它們的具體的類。

      適用性
      1、一個系統要獨立于它的產品的創建、組合和表示時。
      2、一個系統要由多個產品系列的一個來配置時。
      3、當你提供一個產品類庫,而只想顯示它們的接口而不是實現時。
      4、當你要強調一系列相關的產品對象的設計以便進行聯合使用時。

      參與者
      1、AbstractFactory
      聲明一個創建抽象產品對象的操作接口。
      2、ConcreteFactory
      實現創建具體產品對象的操作。
      3、AbstractProduct
      為一類產品對象聲明一個接口。
      4、ConcreteProduct
      定義一個將被相應的具體工廠創建的產品對象。
      實現AbstractProduct接口。
      5、Client
      僅使用由AbstractFactory和AbstractProduct類聲明的接口。

      類圖



      package com.dsp;
      
      public interface ICat {
      	void eat();
      }
      

      package com.dsp;
      
      public class WhiteCat implements ICat {
      
      	@Override
      	public void eat() {
      		System.out.println("The white cat is eating!");
      	}
      
      }
      


      package com.dsp;
      
      public class BlackCat implements ICat {
      
      	@Override
      	public void eat() {
      		System.out.println("The black cat is eating!");
      	}
      
      }
      


      package com.dsp;
      
      public interface IDog {
      	void eat();
      }
      

      package com.dsp;
      
      public class BlackDog implements IDog {
      
      	@Override
      	public void eat() {
      		System.out.println("The black dog is eating!");
      
      	}
      
      }
      


      package com.dsp;
      
      public class WhiteDog implements IDog {
      
      	@Override
      	public void eat() {
      		System.out.println("The white dog is eating!");
      	}
      
      }
      


      package com.dsp;
      
      public interface IAnimalFactory {
      	ICat createCat();
      	IDog createDog();
      }
      

      package com.dsp;
      
      public class BlackAnimalFactory implements IAnimalFactory {
      
      	@Override
      	public ICat createCat() {
      		// TODO Auto-generated method stub
      		return new BlackCat();
      	}
      
      	@Override
      	public IDog createDog() {
      		// TODO Auto-generated method stub
      		return new BlackDog();
      	}
      
      }
      

      package com.dsp;
      
      public class WhiteAnimalFactory implements IAnimalFactory {
      
      	@Override
      	public ICat createCat() {
      		// TODO Auto-generated method stub
      		return new WhiteCat();
      	}
      
      	@Override
      	public IDog createDog() {
      		// TODO Auto-generated method stub
      		return new WhiteDog();
      	}
      
      }
      

      控制臺輸出:

      The black cat is eating!
      The black dog is eating!
      The white cat is eating!
      The white dog is eating!



      posted @ 2015-06-09 23:43  Java夜未眠  閱讀(15)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 99国产精品一区二区蜜臀| 中文字幕精品无码一区二区三区| 国产免费无遮挡吸奶头视频| 亚洲女同在线播放一区二区| 欧洲成人在线观看| 成人自拍小视频在线观看| 久久综合干| 国产精品一区二区三区黄| 欧美性插b在线视频网站| 久久一区二区三区黄色片| 国产成人精彩在线视频| 国产不卡精品视频男人的天堂| 午夜通通国产精品福利| 国产免费性感美女被插视频 | 国产精品亚洲А∨天堂免| 小婕子伦流澡到高潮h| 人人妻人人澡人人爽曰本| 亚洲另类激情专区小说图片| 久久成人国产精品免费软件| 亚洲日韩AV秘 无码一区二区| 久天啪天天久久99久孕妇| 色香欲天天影视综合网| 亚洲国产精品线观看不卡| 好吊妞| 欧美福利电影A在线播放| 日本免费一区二区三区久久| 亚洲婷婷综合色高清在线| 精品国产一区二区色老头| 国产亚洲AV电影院之毛片| 精品少妇人妻av无码专区| 精品国产乱码久久久久夜深人妻| 乱60一70归性欧老妇| 极品美女扒开粉嫩小泬图片| 91中文字幕一区在线| 亚洲午夜精品久久久久久抢| 视频二区国产精品职场同事| 国产偷自视频区视频| 婷婷久久综合九色综合88| 国产在线午夜不卡精品影院| 国产综合视频一区二区三区| 強壮公弄得我次次高潮A片|