设计模式——简单工厂
生活随笔
收集整理的這篇文章主要介紹了
设计模式——简单工厂
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
設計模式——簡單工廠
工廠角色:
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();}/** 如果需要增加產品,則修改此類,需要在此增加判斷—— 這樣就破壞了類的完整性* —— 對修改封閉,對拓展開放!*/return null;} }產品角色:
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 方法有一個參數(或多個)* 3 客戶端通過向工廠的那個方法傳入不同參數來獲取對應的產品**/ 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();}}
總結:
1 簡單,理解起來簡單,客戶調用簡單
2 破壞了開放封閉原則
posted on 2014-08-16 19:46 CanntBelieve 閱讀(...) 評論(...) 編輯 收藏轉載于:https://www.cnblogs.com/FlyAway2013/p/3916819.html
總結
以上是生活随笔為你收集整理的设计模式——简单工厂的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python代码文件生成exe文件
- 下一篇: sql 函数 总结