目的
替其他物件預留代理者位置,藉此控制存取其他物件。
別名
surrogate
動機
真正需要使用時,才建立,避免佔用記憶體。
時機
遊戲的場景跟角色,當你真的需要該場景跟物件時,才會開始建立。
當文件檔案裏面有許多圖片時,你可能需要在圖片顯示時,才載入圖片。
如網站有些圖片會在你 Scroll 往下拉時,才開始請求圖片。
結構
參與者
- Subject : RealSubject 與 Proxy 共同的介面
- RealSubject : Proxy 真正代表的物件
- Proxy : 持有指向 RealSubject 的 reference,以便存取真正的物件