STRUCTURAL DESIGN PATTERNS
یکی از زیرشاخه های الگوهای طراحی، Structural Design Patterns است. این الگوها در مورد چگونگی ترکیب اشیاء و کلاس ها بایکدیگر صحبت میکند. به طور کلی استفاده از دیزاین پترن های برای راحتی و سهولت و همچنین سرعت بخشین به کد نویسی در نظر گرفته می شود.
Proxy Design Pattern
دیزاین پترن Proxy یکی از زیرشاخه های الگوهای طراحی از نوع Structural است.
الگوی طراحی پروکسی جایگزین یا نگهدارنده برای اشیا جهت کنترل دسترسی به آن را فراهم می کند. سختش نکنیم! مثل همان پراکسی که موقع وصل شدن به اینترنت میتونیم استفاده کنیم تا IP Addressمون رو تغییر بدیم، میتونیم هر تغییری بخواهیم در هنگام ساخت اشیا روی یک شی ایجاد کنیم.
میزان استفاده : متوسط رو به بالا
پیاده سازی دیزاین پترن Proxy
فرض کنید کلاس مستطیل را داریم و یک کلاس تحت عنوان RectagleProxy به شکل زیر داریم جهت نگهداری شی ساخته شده در آن و ارسال آن هنگام نیاز.
class RectangleProxy { Rectangle rectangle; public void Draw() { if (rectangle == null) rectangle = new Rectangle(); Console.WriteLine(rectangle.GetHashCode()); rectangle.Draw(); } }
در کد بالا هر زمان که ما احتیاج داشته باشیم تغییری در شی Rectangle ساخته شده بدهیم، قبل از رسم آن میتوانیم این کار را انجام دهیم و این متد دقیقا مثل یک پراکسی یا بهتره بگم مثل یک واسط بین متد Draw از کلاس Rectangle و کلاس RectangleProxy عمل میکند.
حال به سراغ متد main میرویم.
static void Main(string[] args) { try { RectangleProxy proxy = new RectangleProxy(); proxy.Draw(); proxy.Draw(); proxy.Draw(); proxy.Draw(); } catch (Exception ex) { ShowError(ex.Message); } Console.ReadLine(); }
برای آموزش رایگان در مورد انواع دیزاین پترن ها و معماری های نرم افزار می توانید به این آموزش مراجعه نمایید:
معماری نرم افزار مهم ترین پترن های معماری نرم افزار
دیزاین پترن یا الگوی طراحی چیست؟
دیزاین پترن در حقیقت راه حل مسائل طراحی نرم افزار هستند که بارها و بارها در دنیای توسعه نرم افزار تکرار میشوند. الگوهایی از طراحی قابل استفاده مجدد (reusable) و تعامل اشیاء.
نظرات