1. 程式人生 > >java設計模式系列-裝飾者模式

java設計模式系列-裝飾者模式

所以對於 Application,Activity 和 Service 等類來說,他們只是一個個裝飾者,都是用來裝飾 ContextImpl 這個被裝飾者類,Application 是在 createBaseContextForActivity 方法中,通過 ContextImpl 的靜態方法 createActivityContext 獲得一個 ContextImpl 的例項物件,並通過 setOuterContext 方法將兩者建立關聯;Activity 是通過 handleLaunchActivity 方法設定的 ContextImpl 例項,這個方法會獲取到一個Activity物件,在performLaunchActivity函式中會呼叫該activity的attach方法,這個方法把一個ContextImpl物件attach到了Activity中。