代理模式與裝飾者模式看起來很像,都實現基礎對象實現的接口,在其自身對象中都保存著對被代理/被裝飾者的對象引用。
裝飾者模式的定義:
動態的將責任附加到被裝飾者對象上,用于擴展對象的功能。比繼承的靈活性大。典型的如Java IO的設計即是裝飾者模式的典型應用。
(免費視頻教程分享:java視頻教程)
代理模式的定義:
對其他對象進行代理,以控制對被代理對象的訪問。Spring的為業務邏輯層方法生成的代理類,主要進行一些事務控制等。
二者區別:
裝飾的責任是擴展功能 ,而代理主要控制訪問。
相關文章教程推薦:java入門教程