程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> 我把Black_Cat與Walaqi等關於"設計模式"之"工廠方法

我把Black_Cat與Walaqi等關於"設計模式"之"工廠方法

編輯:關於JSP

工廠方法中如何知道實體產品到底是什麼產品呢?
black_cat 發表於 2002-12-10 11:11
雖然模式上說是為了避免客戶端知道具體的實體產品。但如果修改了產品的接口,如何能讓客戶端知道新的接口呢?
比如一個Garden工廠用Create方法創建了兩個產品Flower,Glass,都屬於抽象產品Plant,但Flower增加了接口Color,而Glass沒有該接口,但有另一個接口EverGreenAble。那客戶端還是必須根據具體產品來確定該如何工作,但現在客戶端只知道是Plant類型,並不知道究竟是哪個產品啊,這種情況怎麼辦呢?
********************************************************************************在抽象工廠創建新新產品,往往帶有較明顯的功能取向性的...
epower2002 發表於 2002-12-10 11:22
比如說:
1) 建立一個抽象工廠(Abstract Factory)類HouseFactory,在這個類中聲明:
    CreateWall ()
    CreateDoor ()
    CreateFloor ()
    CreateCeiling ()
    CreatePillar ()
2) 建立相應的抽象產品(Abstract Product)類集:
Wall, Door, Floor, Ceiling, Pillar
3) 為不同風格建立相應的具體工廠(Concrete Factory)類(不要忘了實現關系),例如:
    ChinaHouseFactory : HouseFactory
    GreeceHouseFactory : HouseFactory
    …
4) 為不同的風格建立相應的具體產品(Concrete Product)類(實現相應的抽象產品),例如:
    ChinaWall : Wall
    ChinaDoor : Door
    …
    GreeceWall : Wall
    GreeceDoor : Door
    …
具體請見"簡話設計模式"
********************************************************************************工廠方法不知道他所得到的產品的具體類型
walaqi 發表於 2002-12-10 11:41 VB.NET
他只是在一個產品接口上進行操作。
例如:factory的createProduct1()返回一個product1類的實例。
penFactory的createproduct1()返回一個penProduct1類的實例,但是他們都必須滿足一個條件,。全部要實現product接口

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved