AspectJ in Action
AOP و تاثیر AspectJ بر توسعهی نرم افزار، تازه شروع شده است. AOP انواع برنامه نویسی را به شدت تحت تاثیر قرار داده است از قبیل: برنامههای سازمانی، برنامههای دسکتاپ، سیستمهای بلادرنگ و سیستمهای embedded.
AOP یکی از فناوریهای مرتبط با توسعه نرم افزار محسوب میشود که توسط آن میتوان اعمال مشترک و متداول موجود در برنامه را در یک یا چند ماژول مختلف قرار داد (که به آنها Aspects نیز گفته میشود) و سپس آنها را به مکانهای مختلفی در برنامه متصل ساخت. عموما Aspects، قابلیتهایی را که قسمت عمدهای از برنامه را تحت پوشش قرار میدهند، کپسوله میکنند. اصطلاحا به این نوع قابلیتهای مشترک، تکراری و پراکنده مورد نیاز در قسمتهای مختلف برنامه، Cross cutting concerns نیز گفته میشود؛ مانند اعمال ثبت وقایع سیستم، امنیت، مدیریت تراکنشها و امثال آن. با قرار دادن این نیازها در Aspects مجزا، میتوان برنامهای را تشکیل داد که از کدهای تکراری عاری است.
AspectJ in Action یک راهنمای عملی برای پیاده سازی AspectJ در مشکلات برنامههای واقعی است. من طیف وسیعی از راه حلها از سادهترین مثالها که مشکلات Logging و Tracing را حل میکند تا پیچیدهتر ین آنها از قبیل دست و پنجه نرم کردن با transactionها و امنیت را بررسی کرده ام. بدون در نظر گرفتن حوزهی تخصص شما، شما محدود به پیدا کردن تعدادی مثال هستید، ولی شما باید بر اساس چالشهای که در کار خود با آنها روبرو میشوید، آنها را تغییر داده و استفاده کنید.
سرفصلهای کتاب AspectJ In Action:
1)Introduction to AOP
2)Introducing AspectJ
3)AspectJ: syntax basics
4)Advanced AspectJ
5)Monitoring techniques: logging, tracing, and profiling
6)Policy enforcement: system wide contracts
7)Optimization: pooling and caching
8)Design patterns and idioms
9)Implementing thread safety
10)Authentication and authorization
11)Transaction management
12)Implementing business rule
13)The next step
14)The AspectJ compiler
15)Understanding Ant integration