亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#設計模式應用

發布時間:2024-11-24 15:04:29 來源:億速云 閱讀:81 作者:小樊 欄目:編程語言

在C#中,設計模式是解決特定問題的經過驗證的解決方案。它們可以幫助你編寫更加靈活、可維護和可擴展的代碼。以下是一些常見的設計模式及其在C#中的應用示例:

1. 單例模式 (Singleton Pattern)

單例模式確保一個類只有一個實例,并提供一個全局訪問點。

public class Singleton
{
    private static readonly Singleton _instance = new Singleton();
    private Singleton() { }

    public static Singleton Instance => _instance;
}

2. 工廠模式 (Factory Pattern)

工廠模式提供了一種創建對象的接口,但具體的對象創建邏輯在子類中實現。

public interface IShape
{
    double Area();
}

public class Circle : IShape
{
    public double Radius { get; set; }

    public Circle(double radius)
    {
        Radius = radius;
    }

    public double Area()
    {
        return Math.PI * Radius * Radius;
    }
}

public class ShapeFactory
{
    public static IShape CreateShape(string shapeType)
    {
        switch (shapeType.ToLower())
        {
            case "circle":
                return new Circle(5);
            default:
                throw new ArgumentException("Invalid shape type");
        }
    }
}

3. 觀察者模式 (Observer Pattern)

觀察者模式定義了一種一對多的依賴關系,當一個對象的狀態發生改變時,所有依賴于它的對象都會得到通知并被自動更新。

public interface IObserver
{
    void Update(string message);
}

public class EmailObserver : IObserver
{
    public void Update(string message)
    {
        Console.WriteLine($"Sending email: {message}");
    }
}

public class Publisher
{
    private List<IObserver> _observers = new List<IObserver>();

    public void RegisterObserver(IObserver observer)
    {
        _observers.Add(observer);
    }

    public void NotifyObservers(string message)
    {
        foreach (var observer in _observers)
        {
            observer.Update(message);
        }
    }
}

4. 適配器模式 (Adapter Pattern)

適配器模式將一個類的接口轉換成客戶端所期望的另一個接口形式。

public interface ITarget
{
    void Request();
}

public class Adaptee
{
    public void SpecificRequest()
    {
        Console.WriteLine("Called SpecificRequest()");
    }
}

public class Adapter : ITarget
{
    private Adaptee _adaptee;

    public Adapter()
    {
        _adaptee = new Adaptee();
    }

    public void Request()
    {
        _adaptee.SpecificRequest();
    }
}

5. 裝飾器模式 (Decorator Pattern)

裝飾器模式允許你在不修改現有類的情況下,動態地添加新的功能。

public interface IComponent
{
    void Operation();
}

public class ConcreteComponent : IComponent
{
    public void Operation()
    {
        Console.WriteLine("ConcreteComponent operation");
    }
}

public class Decorator : IComponent
{
    private IComponent _component;

    public Decorator(IComponent component)
    {
        _component = component;
    }

    public void Operation()
    {
        _component.Operation();
        AddedBehavior();
    }

    private void AddedBehavior()
    {
        Console.WriteLine("Added behavior");
    }
}

這些設計模式在C#中的應用可以幫助你更好地組織和管理代碼,提高代碼的可維護性和可擴展性。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

资兴市| 玉溪市| 张家口市| 吉木乃县| 佳木斯市| 嵩明县| 晋州市| 山西省| 通辽市| 西青区| 彭阳县| 虎林市| 太保市| 梧州市| 芷江| 内江市| 涿州市| 镇宁| 兴城市| 蕉岭县| 手游| 海城市| 永春县| 西充县| 萨迦县| 达尔| 连山| 玉溪市| 云浮市| 衡东县| 固镇县| 仪陇县| 吴川市| 长丰县| 阜南县| 苗栗县| 荆州市| 福清市| 陇南市| 瑞昌市| 灵武市|