Skip to content

الگوی Chain of Method #3

Description

@mehransattari

الگوی "Chain of Method" یا زنجیره‌ای از متدها (Method Chaining) در سی‌شارپ به شما این امکان را می‌دهد که چندین متد را به صورت زنجیره‌ای و پشت سر هم فراخوانی کنید. این تکنیک معمولاً برای بهبود خوانایی کد و ایجاد یک رابط کاربری ساده‌تر استفاده می‌شود.

برای پیاده‌سازی این الگو، می‌توانیم نوع بازگشتی متدها را به نوعی از خود شیء تنظیم کنیم. به این ترتیب می‌توانیم از یک شیء برای فراخوانی متدهای مختلف استفاده کنیم.

در زیر یک مثال ساده از پیاده‌سازی این الگو در سی‌شارپ آورده شده است:

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
    
    public Person SetName(string name)
    {
        Name = name;
        return this; // بازگشت به خود شیء
    }
    
    public Person SetAge(int age)
    {
        Age = age;
        return this; // بازگشت به خود شیء
    }
    
    public void DisplayInfo()
    {
        Console.WriteLine($"Name: {Name}, Age: {Age}");
    }
}

class Program
{
    static void Main(string[] args)
    {
        var person = new Person()
            .SetName("Ali")
            .SetAge(30);
        
        person.DisplayInfo(); // خروجی: Name: Ali, Age: 30
    }
}

توضیحات:

  1. کلاس Person: یک کلاس ساده به نام Person ساخته‌ایم که شامل دو ویژگی Name و Age است.
  2. متدهای SetName و SetAge: این متدها به ترتیب نام و سن را تنظیم می‌کنند و در پایان خود شیء (this) را برمی‌گردانند.
  3. استفاده از زنجیره متدها: در متد Main، می‌توانیم به راحتی متدهای SetName و SetAge را به صورت زنجیره‌ای فراخوانی کنیم.
  4. نمایش اطلاعات: متد DisplayInfo برای نمایش اطلاعات شخص استفاده می‌شود.

این الگو به شما این امکان را می‌دهد که کدی واضح‌تر و مختصرتر بنویسید.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions