[java設(shè)計(jì)模式] 創(chuàng)建設(shè)計(jì)模式

前言

這篇文章是我閱讀了其他文章(關(guān)于創(chuàng)建對象時候的設(shè)計(jì)模式)后的手打回顧, 加上 java 非我主攻方向, 所以只是一些概念的陳述和我的理解, 有錯漏之處請見諒.

概念回顧

  1. 單例模式
    主要用于多次創(chuàng)建想生成同一個對象的情況. 推薦餓漢式, 線程安全, 缺點(diǎn)是即使沒被用到也會生成對象, 但問題不大.
  2. 工廠模式
    有點(diǎn)像 erlang 的匹配模式, 創(chuàng)建對象的時候需要輸入一個變量, 會根據(jù)這個變量的值來決定最終生成的對象的類型. 比如說創(chuàng)建對象的時候輸入 Circle 則生成一個圓, 輸入 Rectangle 則生成一個三角形這樣.
  3. 抽象工廠模式
    看的不是特別懂, 只知道是工廠模式之上再抽象了一層. 創(chuàng)建的對象是工廠對象.
  4. 創(chuàng)造者模式
    適用于對象初始化的時候, 初始變量比較麻煩的情況. 我看的文章例子舉得很形象, 如:
new ComputerBilder().screen("普通屏幕").CPU("i7").GPU("1080TI").disk("disk").memory("無線鼠標(biāo)").build()
  1. 原型模式
    適用于復(fù)用對象的情況. 比如說對象初始化需要進(jìn)行很多操作(進(jìn)行多次sql查詢等等). 因?yàn)槎啻纬跏蓟Y(jié)果應(yīng)該是一致的, 所以重新創(chuàng)建對象, 進(jìn)行一次初始化操作就比較耗費(fèi)性能, 取而代之的方式是將之前的對象直接 clone 一份.
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容