在實際的編碼過程中,代理模式的應用場景是什麼?裝飾器模式的應用場景是什麼?
spring的ioc+aop就是動態代理,可以幫助我開啟hibernate的session,和commit事務
裝飾器模式,在實際的環境中,在哪有所體現?
樓上說的都對,不是了解很深也是難理解的,最好還是去看看代碼,裝飾器模式和代理模式的代碼很像,但是有區別:
1、裝飾器模式:需要傳入 被裝飾者 對象實例,就是說被裝飾對象是你傳過去的,你是知道這個要被裝飾的對象的;
代理模式:被代理者是 在代理類中 new 出來的,你不需要傳入 被代理對象, 也就是說你不知道 被代理對象是誰;
2、裝飾器模式:在被裝飾者 前後動態添加修飾,只是添加修飾可以認為是加System.out.print("****"),相當於給被裝飾者傳衣服什麼的,是不能控制 被裝飾者的;
代理模式:在被代理者 前後添加方法,比如在前面public void method(){return;} 這樣就直接返回了,看不到被代理者了,是可以做權限控制的,被代理者是可以被控制的,
這是我覺得主要的2點區別