بافنده جوانب

دانشنامه عمومی

بافندهٔ جوانب ( به انگلیسی: Aspect weaver ) ابزاری برای زبان های جنبه گرا هست که وظیفه دارد جنبه های برنامه را در ورودی بگیرد و کد نهایی را با استفاده از آنها تولید کند. بافنده با تلفیق جنبه ها و کلاس ها، ساختاری جدید به نام کلاس های بافته شده تولید می کند. استفاده این ابزار در مرحله پیش از کامپایل می باشد.
دستورهای داده شده به بافنده ها صوابدید نام دارند. این صوابدیدها با استفاده از ترکیبی از نقاط پیوست تعریف می شوند که تعیین می کنند کدام توابع باید توسط کد جنبه ها تکمیل شود. شیوهٔ دقیق تکمیل این توابع به خود جوانب برمیگردد. با این کار بافنده ها ابزاری ارزشمند برای ارتقای پودمانی هستند.
زبان های متعدد جنبه گرا وجود دارد که شناخته شده باشند اما انگیزه کافی برای طراحی و ساخت زبان های جنبه گرای جدید به علل اقتصادی وجود ندارد. [ ۱] استفاده از تکنولوژی کاملاً متفاوت نیاز به این دارد که شرکت ها برنامه نویسان جدید استخدام کنند، زنجیره ابزار های متفاوتی برای توسعه تهیه کنند و همچنین کدهای قبلی خود را رها کنند که همگی خرج های زیادی دربردارد. [ ۲]
برای حل این معضلات در کنار داشتن برنامه نویسی جنبه گرا بافنده ها به ما این اجازه را می دهند که با اندکی تعمیم مانند AspectJ از زبان پرکاربردی مانند جاوا استفاده کنیم. [ ۳] بجای طراحی یک زبان کاملاً جدید، بافنده پسوندهای تعریف شده توسط AspectJ را تفسیر می کند و کد جاوا را «می بافد» تا بتواند توسط هر جاوا کامپایلری استفاده شود. این تضمین می کند که هر کد شی گرا موجود، یک کد معتبر جنبه گرا نیز باشد و توسعه مانند روال عادی توسعه شیء گرا انجام شود. [ ۴] مثالی دیگر از اینگونه تعمیمات زبان ++AspectC است که تعمیمی جنبه گرا برای زبان ++C می باشد. [ ۵]
همانطور که گفته شد، کار بافنده این است که با گرفتن دستورالعمل هایی از جنبه برنامه ( همان صوابدید ) ، به صورت خودکار این دستورالعمل ها را در بین کلاس های موجود اعمال کند. در نتیجه کلاس هایی خواهیم داشت همنام کلاس های اصلی برنامه، اما با کدی متفاوت برای توابع. محل اضافه شدن این دستورالعمل ها توسط صوابدید تعیین می شود. [ ۶]
در طی این عملیات بافنده ها اجازه اضافه شدن کدهایی را به برنامه می دهند که در غیر اینصورت به صورت اضافی در برنامه قرار می گرفتند. در نتیجه دیگر نیازی به دخالت برنامه نویس در پخش این کدها نیست.
عکس بافنده جوانبعکس بافنده جوانب
این نوشته برگرفته از سایت ویکی پدیا می باشد، اگر نادرست یا توهین آمیز است، لطفا گزارش دهید: گزارش تخلف

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

بپرس