91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

浑源县| 连州市| 惠东县| 和龙市| 翁源县| 霍邱县| 辽宁省| 盈江县| 图木舒克市| 余江县| 平塘县| 封丘县| 曲周县| 红安县| 和静县| 江源县| 卢湾区| 河南省| 常宁市| 稻城县| 安康市| 洛浦县| 寿阳县| 清苑县| 天峻县| 桂平市| 孟津县| 吉水县| 乌拉特后旗| 江阴市| 台中县| 全州县| 龙南县| 西宁市| 黄石市| 平遥县| 康定县| 南皮县| 荆州市| 宜兰市| 兴和县|