6.4 Introduce Polymorphic Creation with Factory Method
共用同一個public interface , 共用同一個superclass ,且位於同一個package時
共用同一個public interface , 共用同一個superclass ,且位於同一個package時
又想要隱藏一些不公開的clasee , 所以以factory將其封裝起來
將原本呼叫class的建構式改為Creation method並移到factory
實現program to interface ,not an implementation
以Factory封裝眾多classes
+透過 目的清晰的函示產生各種實體,簡化Creation
+隱藏不公開的Classes,減輕package的概念重量
+program to interface ,not an implementation
- if need to creat new kinds instance , need new Creation Methods
1.找出 呼叫class建構式以創建某種實體的客戶碼, 對建構式呼叫動作實施Extract Method,建立public static函式,其就為Creation Method
實施Move Method,把creation method 移至被喚起的建構式的所屬class的superclass
2.找出上述建構式的每一個呼叫者,讓其轉為呼叫Creation Method
沒有留言:
張貼留言