دیزاین پترن Decorator

دیزاین پترن Decorator

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();
        }
decorator-design-pattern

پرینت صفحه دانلود این آموزش

هولوسن

با من یاد بگیر

آموزش های بیشتر در وبسایت هولوسن : https://holosen.net

بدون نظر

فرم ارسال نظر