STRUCTURAL DESIGN PATTERNS
یکی از زیرشاخه های الگوهای طراحی، Structural Design Patterns است. این الگوها در مورد چگونگی ترکیب اشیاء و کلاس ها بایکدیگر صحبت میکند. به طور کلی استفاده از دیزاین پترن های برای راحتی و سهولت و همچنین سرعت بخشین به کد نویسی در نظر گرفته می شود.
Decorator Design Pattern
دیزاین پترن Decorator یکی از زیرشاخه های الگوهای طراحی از نوع Structural است.
از دیزاین پترن Decorator جهت اضافه کردن وظایف اضافه بصورت داینامیک به اشیاء استفاده می شود. برای اینکه به صورت کامل با این الگوی طراحی آشنا بشویم، با ادامه متن همراه باشید تا با بررسی نمونه کد بتوانیم مفهوم آن را بیشتر درک کنیم.
میزان استفاده : متوسط
پیاده سازی دیزاین پترن Decorator
فرض کنید اینترفیس IShape را بصورت زیر تعریف کنیم.
public interface IShape { void Draw(); }
حال فرض کنید کلاسی با نام Rectangle به عنوان کلاس مستطیل به صورت زیر داریم.
public class Rectangle : IShape { public int Width { get; set; } public int Height { get; set; } public void Draw() { Console.WriteLine("Rectangle Draw()"); } }
حالا میخواهیم بدون این که به کلاس Rectangle دست بزنیم، کلاسی داشته باشیم با همان خصوصیات به همراه تابعی جهت محاسبه مساحت آن. بنابراین کلاس AdvancedRectangle را بصورت زیر به برنامه خود اضافه میکنیم.
internal class AdvancedRectangle : Rectangle { public int Area() { return Width * Height; } }
حال متد main خود را جهت استفاده از این برنامه به صورت زیر مینویسیم.
static void Main(string[] args) { try { AdvancedRectangle rectangle = new AdvancedRectangle() { Height = 20, Width = 60 }; ShowMessage(rectangle.Area().ToString()); } catch (Exception ex) { ShowError(ex.Message); } Console.ReadLine(); }
برای آموزش رایگان در مورد انواع دیزاین پترن ها و معماری های نرم افزار می توانید به این آموزش مراجعه نمایید:
معماری نرم افزار مهم ترین پترن های معماری نرم افزار
دیزاین پترن یا الگوی طراحی چیست؟
دیزاین پترن در حقیقت راه حل مسائل طراحی نرم افزار هستند که بارها و بارها در دنیای توسعه نرم افزار تکرار میشوند. الگوهایی از طراحی قابل استفاده مجدد (reusable) و تعامل اشیاء.
نظرات