2013年12月25日 星期三

重構-向範式前進 Refacttoring to Patterns(4)-創建Encapsulate Classes with Factory

   6.4 Introduce Polymorphic Creation with Factory Method 

共用同一個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




沒有留言:

張貼留言