在日常開發(fā)工作中,適當的使用一些設計模式,可以讓代碼擴展性更強,能更好地擁抱變化,讓代碼更加優(yōu)雅。本文主要介紹設計模式中的裝飾模式,并附上測試示例 Demo 供大家參考。

  • 定義

  裝飾模式(Decorator Pattern)允許向一個現有的對象添加新的功能,同時又不改變其結構。這種類型的設計模式屬于結構型模式,它是作為現有的類的一個包裝。

  • 個人理解

  裝飾模式可以在運行時,在不修改原有代碼的前提下,動態(tài)地為對象添加或移除指定的業(yè)務邏輯,比起繼承,采用裝飾模式讓代碼更據擴展性,更為靈活,避免了繼承導致的代碼耦合。

  裝飾模式的設計理念是:對修改關閉,對擴展開放;面對接口編程。

  • 示例介紹

  個人有時間會自己煮湯(這不是重點哈,只是剛好有這么一個場景適合采用裝飾模式,因此也就拿來做例子了),在煮湯的過程中,我們需要添加不同的食材,就拿涼瓜排骨湯來說吧,需要的食材有排骨、涼瓜、大豆、食用鹽、水等,當然根據不同人的不同喜好,可以添加其他的食材。以上說到的這些食材都是制作“涼瓜排骨湯”所必須的,沒有它們的點綴,湯喝起來也就不是那個味道了,這里的點綴我們可以理解為裝飾,是食材裝飾了“涼瓜排骨湯”,也就是說食材是裝飾者,而“涼瓜排骨湯”是被裝飾的對象。UML 圖如下:

電腦培訓,計算機培訓,平面設計培訓,網頁設計培訓,美工培訓,Web培訓,Web前端開發(fā)培訓

延伸閱讀

學習是年輕人改變自己的最好方式-Java培訓,做最負責任的教育,學習改變命運,軟件學習,再就業(yè),大學生如何就業(yè),幫大學生找到好工作,lphotoshop培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網站設計培訓,網站建設培訓學習是年輕人改變自己的最好方式