第十一章 Cach 設計模式 抽象工廠模式

2021-10-05 06:07:42 字數 2249 閱讀 6845

抽象工廠類思考

提供乙個建立一系列相關或相互依賴的介面,而無需制定它們具體的類。

連線資料庫sql和caché並且每個資料庫對映的同張的表的型別是不同的。

class pha.yx.design.abstractfactory.user extends %registeredobject

method idset(arg as %string) as %status [ serveronly = 1 ]

property name as %string;

method nameget() as %string [ serveronly = 1 ]

method nameset(arg as %string) as %status [ serveronly = 1 ]

}

class pha.yx.design.abstractfactory.department extends %registeredobject

method idset(arg as %string) as %status [ serveronly = 1 ]

property name as %string;

method nameget() as %string [ serveronly = 1 ]

method nameset(arg as %string) as %status [ serveronly = 1 ]

}

class pha.yx.design.abstractfactory.idepartment extends %registeredobject

method getdepartment(id as %integer)

}

class pha.yx.design.abstractfactory.iuser extends %registeredobject

method getuser(id as %integer)

}

class pha.yx.design.abstractfactory.sqluser extends iuser

method getuser(id as %integer)

classmethod creatobject()

}

class pha.yx.design.abstractfactory.cacheuser extends iuser

method getuser(id as %integer)

classmethod creatobject()

}

class pha.yx.design.abstractfactory.sqldepartment extends idepartment

method getdepartment(id as %integer)

classmethod creatobject()

}

class pha.yx.design.abstractfactory.cachedepartment extends idepartment

method getdepartment(id as %integer)

classmethod creatobject()

}

直接用xecute命令直接反射,然後獲取引用物件。

配置的字串可以通過inc檔案來制定,符合開放封閉原則,又可配置。

注意:本章使用的反射+配置實現訪問程式

include pha.yx.design.abstractfactory.data

class pha.yx.design.abstractfactory.dataaccess extends %registeredobject

classmethod createdepartment() as idepartment

classmethod createusertwo() as iuser

}

#define database "cache"
改寫第一章思考生產電腦的例子。感興趣的同學實現後可以發我一起參考下。

modern c design 第十一章

本章介紹了經常遇到的雙分派的一種泛型解決方案。c 在語法上實現了單分派,即虛函式,通過動態機制選擇相應的函式。雙分派是形如fun object1 a,object2 b 根據a和b的實際型別動態自動分派乙個處理函式。最容易想到的方案,蠻幹法 寫一大堆過載函式.不過這種方法會有很強的依賴性。也提供了一...

第十一章3

第十一章 一 滾動元件 awt中的滾動元件包括scrollbar 滾動條 和滾動面板 scrollpane 兩種。1 滾動條scrollbar 在指定的取值範圍內快速選取某一值的功能。i.構造方法 public scrollbar int orientation,int value,int visi...

java第十一章

問題 1 錯誤 2 異常,1 編譯時異常 檢查異常 2 執行時異常 不檢查異常 是否能用 解決,是的就是異常,不是的就是錯誤 問題 1 先驗 2 捕獲 異常捕獲機智 異常的三個種類 1 檢查異常 2 執行時異常 3 錯誤 throw 提示方法呼叫者本方法可能發生異常 throw跟異常物件 throw...