代理模式與裝飾者模式看起來(lái)很像,都實(shí)現(xiàn)基礎(chǔ)對(duì)象實(shí)現(xiàn)的接口,在其自身對(duì)象中都保存著對(duì)被代理/被裝飾者的對(duì)象引用。
裝飾者模式的定義:
動(dòng)態(tài)的將責(zé)任附加到被裝飾者對(duì)象上,用于擴(kuò)展對(duì)象的功能。比繼承的靈活性大。典型的如Java IO的設(shè)計(jì)即是裝飾者模式的典型應(yīng)用。
(免費(fèi)視頻教程分享:java視頻教程)
代理模式的定義:
對(duì)其他對(duì)象進(jìn)行代理,以控制對(duì)被代理對(duì)象的訪問(wèn)。Spring的為業(yè)務(wù)邏輯層方法生成的代理類(lèi),主要進(jìn)行一些事務(wù)控制等。
二者區(qū)別:
裝飾的責(zé)任是擴(kuò)展功能 ,而代理主要控制訪問(wèn)。
相關(guān)文章教程推薦:java入門(mén)教程