Builder 模式:
使用場景:
1辩昆、相同的方法阅酪,不同的執(zhí)行順序,產(chǎn)生不同的事件結(jié)果。
2术辐、多個部件或零件砚尽,都可以裝配到一個對象中,但是產(chǎn)生的運行結(jié)果又不相同辉词。
3必孤、產(chǎn)品類非常復雜,或者產(chǎn)品類中調(diào)用順序不同產(chǎn)生了不同的作用瑞躺。
4敷搪、當初始化一個對象特別復雜,入?yún)?shù)多幢哨,且很多參數(shù)都具有默認值购啄。
原型模式
使用場景:
1.類初始化需要消化特別多的資源,這個資源包括數(shù)據(jù)嘱么、硬件資源等狮含,通過原型拷貝避免這些消耗。
2曼振、通過new產(chǎn)生一個對象需要非常繁瑣的數(shù)據(jù)準備或訪問權(quán)限几迄,這時可以使用原型模式。
3冰评、一個對象需要提供給其他對象訪問映胁,而且個個對象可能都需要修改其值,可以考慮同過原型模式拷貝多個對象供調(diào)用者使用甲雅,即保護性拷貝解孙。
clone的使用 ?淺拷貝 和深度拷貝
登錄模塊通過原型模式 與包級私有方法,保證用戶對象不會因為不小心修改了影響整體代碼錯誤
工廠模式
在任何需要生成復雜對象的地方抛人,都可以使用工廠方法模式弛姜。復雜對象適合使用工廠模式,用new就可以完成創(chuàng)建的對象無需使用工廠模式妖枚。