程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> c-代理模式和裝飾器模式的區別是什麼?

c-代理模式和裝飾器模式的區別是什麼?

編輯:編程解疑
代理模式和裝飾器模式的區別是什麼?

在實際的編碼過程中,代理模式的應用場景是什麼?裝飾器模式的應用場景是什麼?

spring的ioc+aop就是動態代理,可以幫助我開啟hibernate的session,和commit事務

裝飾器模式,在實際的環境中,在哪有所體現?

最佳回答:


樓上說的都對,不是了解很深也是難理解的,最好還是去看看代碼,裝飾器模式和代理模式的代碼很像,但是有區別:
1、裝飾器模式:需要傳入 被裝飾者 對象實例,就是說被裝飾對象是你傳過去的,你是知道這個要被裝飾的對象的;
代理模式:被代理者是 在代理類中 new 出來的,你不需要傳入 被代理對象, 也就是說你不知道 被代理對象是誰;
2、裝飾器模式:在被裝飾者 前後動態添加修飾,只是添加修飾可以認為是加System.out.print("****"),相當於給被裝飾者傳衣服什麼的,是不能控制 被裝飾者的;
代理模式:在被代理者 前後添加方法,比如在前面public void method(){return;} 這樣就直接返回了,看不到被代理者了,是可以做權限控制的,被代理者是可以被控制的,

這是我覺得主要的2點區別

u013179958
u013179958
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved