都說,美是天生的,小朽不以為然哦!

小姐,你的化妝粉,掉了!
化妝(包裝,裝飾),技術來源生活。下面講講怎麼個化妝-裝飾模式
什麼叫decorator pattern
給一個類添加一些額外的職責,并且在添加這些額外的職責時不會控制該類的執行邏輯。 即使沒有某個對象的源代碼,甚至即使這個類申明是final的,decorator模式允許裝飾或者包裝(直白的說,修改)這個對象的行為。
小姐,化妝後真漂亮!(其實存在貶義),但化妝真能改變對象哦。
(光化妝知道),有什麼用呢?
decorator 模式 适用于無法使用繼承的情況,比如對象是final的,或者你自己不想親自建立對象,而是想從另一個系統中擷取。自然,裝飾不是一層哦!(小姐,妝太濃了,也不好!)我們可以對某個對象進行雙重裝飾。
知道後,咱們也是試試化化妝。(裝飾模式案例)
妃子都是中原的。但是有 溫柔的 ,有 野蠻的 , 有 粗暴的。(夠了夠了,小朽都惡心了。)然後應付不同的王子,你該怎麼做呢。
(其實就是 對 妃子功能拓展 )
(各個 化妝齊全,眼都看不見了。啊哈哈)
五步走:抽象建構 具體實作 裝飾角色 具體裝飾 測試
測試
用圖說話。
然後,知其原理,那就學習下servlet api 4個很少用到,功能很強大的:
servletrequestwrapper,servletresponsewrapper,httpservletrequestwrapper,httpservletresponsewrapper
servletrequestwrapper等使用起來很友善,由于它為調用被裝在servletrequest中的對等方法的每一個方法都提
供了預設的實作。通過繼承servletrequestwrapper,隻需要覆寫想要修改的方法即可。如果沒有
servletrequestwrapper,隻好直接實作servletrequest,并為每個接口每個方法寫實作。(例子中也可以看到好處。)
裝飾servletrequest