دیزاین پترن Proxy

دیزاین پترن Proxy

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) و تعامل اشیاء.

پرینت صفحه

هولوسن

با من یاد بگیر

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

بدون نظر

**پرسش و پاسخ** سوال خود مطرح کنید.
امتیاز شما*