DP1 工廠方法 Section1.1 Factory Method
1. 對於代碼分類和包裝的實用技巧,使它看起來簡潔、優雅。
2. 透過一個工廠方法(connection_factory)去生成一個(產品)實例,而不是用hardcode的方式去生成一個實例。The connection_factory() function is a Factory Method. It returns an instance of JSON Connector or XMLConnector depending on the extension of the input file path
3.這個方法附帶了生成的條件(if-elif condition), 因此產生了彈性。
4.再把這個方法在包裝一層例外處理的機制,使這個功能加穩固。
5.用來確認異常處理是否有效
6.透過XPath用來匹配符合條件的資料筆(Record)
查找所有包含姓(last name)为 Liar 的 person 元素。对于每个匹配到的元素,展示其基本的姓名和电话号码信息
7.這裡沒有條件匹配,所有的資料筆(Record)都會被掃出來
重點問題思考:
1. 還有哪些重複相同的代碼可以歸納收斂?
2.即使假設可以使用相同的代碼來處理XML和JSON文件,當需要支持第三種格式(例如,SQLite)時,又該對代碼作哪些改變呢?找一個SQlite文件或者自己創建一個,嘗試一下。
3. 像現在這樣,代碼並未禁止直接實例化一個連接器。如果要禁止直接實例化,是否可以實現?試試看。 就是說我們規定只能透過函式產生實例,而不能直接調用類別產生實例?
參考資料:
簡單工廠模式 和 工廠方法模式 的優缺點
簡單工廠模式 (Simple Factory Pattern)
訂閱:
張貼留言
(
Atom
)
即是SOLID原則中的"Open Closed Principle (開放封閉原則)"
回覆刪除