设计模式——简单工厂
生活随笔
收集整理的這篇文章主要介紹了
设计模式——简单工厂
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
設(shè)計模式——簡單工廠
工廠角色:
package designpattern.creation.simplefactory;/** * 此處的工廠簡單寫成一個類,因為(簡單工廠的工廠)不會有繼承或拓展,可以不用寫成接口。*/ public class Factory {public IProduct getProduct(String type) {// TODO Auto-generated method stubif (type.equals("A")) {return new ProductA();} else if(type.equals("B")) {return new ProductA();}/** 如果需要增加產(chǎn)品,則修改此類,需要在此增加判斷—— 這樣就破壞了類的完整性* —— 對修改封閉,對拓展開放!*/return null;} }產(chǎn)品角色:
package designpattern.creation.simplefactory;public interface IProduct {void use(); }package designpattern.creation.simplefactory;public class ProductA implements IProduct {public void use() {// TODO Auto-generated method stubSystem.out.println("ProductA.use()");}}package designpattern.creation.simplefactory;public class ProductB implements IProduct {public void use() {// TODO Auto-generated method stubSystem.out.println("ProductB.use()");}}客戶端:
package designpattern.creation.simplefactory;/*** * 簡單工廠三因素:* 1 工廠只有一個方法* 2 方法有一個參數(shù)(或多個)* 3 客戶端通過向工廠的那個方法傳入不同參數(shù)來獲取對應(yīng)的產(chǎn)品**/ public class Client {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubIProduct product = new Factory().getProduct("A");product.use();IProduct product2 = new Factory().getProduct("A");product2.use();}}
總結(jié):
1 簡單,理解起來簡單,客戶調(diào)用簡單
2 破壞了開放封閉原則
posted on 2014-08-16 19:46 CanntBelieve 閱讀(...) 評論(...) 編輯 收藏轉(zhuǎn)載于:https://www.cnblogs.com/FlyAway2013/p/3916819.html
總結(jié)
以上是生活随笔為你收集整理的设计模式——简单工厂的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python代码文件生成exe文件
- 下一篇: PowerBuilder调用.Net编译