- خلاصهای از
قسمت اول این دوره
«هر Aspect صرفا یک محصور
کننده قابلیتی خاص و تکراری در برنامه است. از این جهت که کدهای تکراری برنامه،
به Aspects منتقل شدهاند و دیگر نیازی نیست برای تغییر آنها، کدهای
قسمتهای مختلف را تغییر داد (کدهای برنامه باز خواهند بود برای توسعه و
بسته برای تغییر). بنابراین با استفاده از Aspects، به یک طراحی شیءگرای
بهتر نیز دست خواهیم یافت.»
بنابراین فرق مهمش با روش کار با Expressions این است که شما در اینجا به یک Attribute جدید رسیدید که منطق پیاده سازی آن جایی در لابلای کدهای شما قرار نگرفته. هر زمان که نیازی به آن نبود، فقط کافی است که قسمت EnrichAllWith تنظیمات IoC Container یاده شده را حذف کرد. این روش یک دید دیگر طراحی شیءگرا است.
- از دیدگاه صرفا کاربردی:
الف) روش AOP یاد شده با هر نوع ORM ایی سازگار است. اصلا مهم نیست که الزاما EF باشد یا NH.
ب) چون درگیر بسیاری از جزئیات ریز تفسیر Expressions نشده، سریعتر است.