在設計中加入 AOP 著實會讓程式碼清晰度大增,讓程式的職責更清楚,Autofac 中的擴充套件 Autofac.Extras.DynamicProxy 可以輕鬆地讓我們實現 AOP 的功能,在註冊完後可以呼叫 EnableInterfaceInterceptors()
或 EnableClassInterceptors()
的其中一個方法來啟用 Interceptors,而這兩個擴充方法的區別又在哪?
2017-04-29
在設計中加入 AOP 著實會讓程式碼清晰度大增,讓程式的職責更清楚,Autofac 中的擴充套件 Autofac.Extras.DynamicProxy 可以輕鬆地讓我們實現 AOP 的功能,在註冊完後可以呼叫 EnableInterfaceInterceptors()
或 EnableClassInterceptors()
的其中一個方法來啟用 Interceptors,而這兩個擴充方法的區別又在哪?
前些陣子有人問我「Abstract 與 Interface 的區別?」,腦袋中閃過過去所有使用過 Abstract 及 Interface 的情境,整理之後給出我實務上設計的時候是怎麼操作 Abstract 與 Interface 的答案,回頭想想這樣有點文不對題,對方似乎也沒有得到答案,不過這樣的過程讓我有種見山不是山的感覺,促使我回頭想想在思考這個問題答案的過程當中不單純的點是什麼?以及為何我給出這樣的答案?