برنامه‌نویسی جنبه‌گرا

برنامه‌نویسی جنبه‌گرا (به انگلیسی: Aspect-Oriented Programming) یک پارادایم برنامه‌نویسی است که پس از برنامه و برای رفع مشکلات آن به وجود آمد. هدف از برنامه‌نویسی جنبه‌گرا، مستقل کردن وظایف (در قالب ماژول‌ها) است به‌طوری‌که کمترین تداخل را در یکدیگر داشته باشند تا نهایتاً بتوان از آن‌ها در برنامه‌های دیگر نیز استفاده نمود. واحد ماژول بندی در AOP جنبه است. برای مثال؛ وظیفهٔ احراز هویت در یک برنامه را می‌توان به عنوان یک جنبه در نظر گرفت و ماژول جداگانه‌ای برای آن ساخت تا از این پس در تمام پروژه‌های مشابه بتوان از آن استفاده کرد. بیشتر زبان‌های برنامه‌نویسی، از برنامه‌نویسی جنبه‌گرا پشتیبانی خوبی به عمل می‌آورند. می‌توان از آن جمله به جاوا و روش AspectJ اشاره کرد. به عنوان مثال برنامه‌ای را تصور کنید که از ماژول‌های مختلفی تشکیل شده‌است و حال می‌خواهید تمام پرس و جوهای پایگاه داده را در محلی ذخیره نموده و گزارشی تهیه نمایید. بدون استفاده از برنامه‌نویسی جنبه گرا بایستی در هر ماژول توابع جدید افزوده شوند و در تمام ماژول‌ها ممکن است بخشی از کد تکرار شود. اما با استفاده از برنامه‌نویسی جنبه گرا شما می‌توانید بدون اینکه در ماژول‌های دیگر تغییری ایجاد کنید یک ماژول دیگر بنویسید تا به صورت خودکار در ماژول‌های دیگر فراخوانی شده و اجرا شود. در این راستا امکان تنظیم اینکه هر متد در ماژول جدید در کدام قسمت از هر ماژول دیگر اجرا شود وجود دارد. شما می‌توانید بعد از اتمام اجرای بدنه کد، در تمام متدهای ماژول‌های دیگر، متدی با نام LogQuery را از ماژول جدید اجرا نمایید. بدون اینکه کد جدیدی به متدها افزوده شود.

برای برنامه‌سازی جنبه گرا می‌توان از زبان‌های عادی مانند C, C++ یا جاوا استفاده کرد و بخش‌هایی را برای مشخص کردن قوانین تلاقی به آن اضافه نمود. این مفاهیم شامل برش نقطه‌ای (Point cut)، نقاط اتصال (Join point)، ابلاغیه (Advice) و جنبه (Aspect) هستند.[۱]

منابع ویرایش

پیوند به بیرون ویرایش