الگوی طراحی قالب (C++‎ Template Design Pattern)

 

ویژگی های Template Design

  • الگوی طراحی Template  یک الگوی رفتاریست .
  • هیچ ارتباطی به Template های سی پلاس پلاس ندارد
  • الگوی Template یک الگوی رایج در برنامه نویسی شی گراست داشتن یک کلاس ابسترکت (که یک یا چند تابع مجازی خالص دارند ) یک مثال ساده از الگوی طراحی تمپلیت است .
  • در الگوی طراحی Template بخش هایی از برنامه که به خوبی تعریف شده اند مثل یک الگوریتم در کلاس پایه به عنوان یک تابع غیر مجازی تعریف می‌شوند و بقیه قسمت ها در کلاس بیس مجازی تعریف می‌شود و پیاده سازی آن‌ها در کلاس های نشات گرفته انجام می‌شود.
  • به تابعی که الگوریتم در ان پیاده سازی شده تابع Template  گفته می‌شود و به کلاس پایه که این تابع را در بر دارد Template  گفته می‌شود .

کد زیر کاربرد الگوی طراحی Template را نشان می‌دهد :

(نکته کد نسبت به لینک منبع اصلاح شد و مشکلاتی از کد رفع شده )

 

 

خروجی

Start ...
Allow ...
End ...
Start ...
Not allowed
End ...

 

منبع