Chain Of Responsibility پترن در جاوا

در این قسمت تیم کدگیت را با آموزش Chain Of Responsibility پترن در جاوا همراهی کنید. پیش نیاز این آموزش شامل موارد زیر است:

  1. کلاس Abstract در جاوا
  2. شی گرایی در جاوا
  3. ارث بری در جاوا
  4. متد در جاوا
  5. This در جاوا

Behavioral Design Pattern

یکی از زیر شاخه‌های دیزاین پترن Behavioral Design Pattern می‌باشد. یکی از وظایف اصلی این دیزاین پترن، تعامل  اشیا و جداسازی وظایف آنها با یکدیگر است. تعریف کامل Behavioral Design Pattern بدین صورت است که، تمامی اشیا با یکدیگر به راحتی بتوانند ارتباط برقرار کرده، بدون آنکه باعث وابستگی بین آنها شود.

Chain of Responsibility پترن در جاوا

همانطور که از نام پترن Chain Of Responsibility مشخص است، این پترن تعدادی شی دریافت کننده برای درخواستی را می‌سازد. در این پترن کلاس‌های دریافت کننده و درخواست کننده بر اساس نوع درخواست از یکدیگر جدا می‌شوند. همچنین Chain Of Responsibility پترن یکی از انواع Behavioral Design Pattern می‌باشد.

Chain Of Responsibility پترن در جاوا

مثال Chain of Responsibility پترن در جاوا

 یک کلاس Abstract به نام AbstractLogger داریم که سه کلاس FileLogger و ConsoleLogger و ErrorLogger از آن ارث بری می‌کنند. در کلاس AbstractLogger برای هر نوع لاگ یک امتیاز در نظر گرفتیم (سه فیلد استاتیک تعریف شده است). پس از دیدن کدها به توضیح جزییات آنها می‌پردازیم:

در کلاس AbstractLogger یک فیلد به نام NextLogger وجود دارد که مشخص کننده کلاس دریافت کننده بعدی می‌باشد و همچنین متدی به نام LogMessage وجود دارد که درخواست را دریافت کرده و در صورتی که امتیاز لاگ درخواست کننده کوچکتر یا مساوی لاگ حاضر باشد آن را چاپ و به دریافت کننده بعدی منتقل می‌کند.

تست Chain Of Responsibility پترن

برای تست کدهای بالا، کد Main زیر را بزنید:

در کد بالا متدی به نام GetChainofLoggers داریم که لاگ ها را تنظیم می‌کند و در Main با ارسال درخواست ، لاگ هایی که وظیفه دریافت درخواست را دارند آن را دریافت می‌کنند. توجه داشته باشید که ممکن است چند لاگ دریافت کننده باشند (بر اساس تنظیم امتیاز آنها).

پسورد: www.codegate.ir

 

دسته : design pattern, java, جاوا, دیزاین پترن

دیدگاه بگذارید

نظر شما چیست؟

مطلع کردن شما از
avatar

wpDiscuz