iT邦幫忙

2023 iThome 鐵人賽

DAY 7
0
自我挑戰組

《從基礎到精通:C#程式設計的實踐指南》系列 第 7

《C#中的設計模式:優雅的問題解決方案》

  • 分享至 

  • xImage
  •  

設計模式是經過時間驗證的軟體設計方法,用於解決特定問題並提高程式碼的可維護性和可擴展性。在這篇文章中,我們將介紹一些C#中常見的設計模式,以及如何運用它們來創建更優雅的程式設計方案。

  1. 單例模式(Singleton Pattern)
    單例模式確保一個類別僅有一個實例,並提供一個全域訪問點。這在需要共享資源的情況下非常有用,例如資料庫連接或日誌記錄。
public class Singleton
{
    private static Singleton instance;
    private Singleton() { }

    public static Singleton Instance
    {
        get
        {
            if (instance == null)
            {
                instance = new Singleton();
            }
            return instance;
        }
    }
}
  1. 工廠模式(Factory Pattern)
    工廠模式用於創建物件,並將創建的過程封裝在工廠類別中。這有助於解耦程式碼,使其更容易擴展和維護。
public interface IShape
{
    void Draw();
}

public class Circle : IShape
{
    public void Draw()
    {
        // 實現繪製圓形的邏輯
    }
}

public class Rectangle : IShape
{
    public void Draw()
    {
        // 實現繪製矩形的邏輯
    }
}

public class ShapeFactory
{
    public IShape CreateShape(string shapeType)
    {
        if (shapeType == "Circle")
        {
            return new Circle();
        }
        else if (shapeType == "Rectangle")
        {
            return new Rectangle();
        }
        // 其他類別的創建邏輯
    }
}
  1. 觀察者模式(Observer Pattern)
    觀察者模式定義了一種一對多的關係,當一個物件狀態改變時,所有相依於它的物件都會收到通知並自動更新。
public interface IObserver
{
    void Update(string message);
}

public class ConcreteObserver : IObserver
{
    public void Update(string message)
    {
        Console.WriteLine("收到通知:" + message);
    }
}

public class Subject
{
    private List<IObserver> observers = new List<IObserver>();

    public void Attach(IObserver observer)
    {
        observers.Add(observer);
    }

    public void Notify(string message)
    {
        foreach (var observer in observers)
        {
            observer.Update(message);
        }
    }
}

設計模式是C#程式設計中的強大工具,它們提供了解決常見問題的優雅方法,同時也有助於增加程式碼的可讀性和可維護性。深入瞭解這些設計模式,並將它們適用於您的專案,可以使您成為更出色的程式設計師。在下一篇文章中,我們將討論C#中的效能優化技巧,以提高程式的執行效能。請繼續關注我在iThome鐵人賽系列的文章,以繼續深入探索C#程式設計的世界。


上一篇
《C#中的物件導向程式設計(OOP)原則》
下一篇
《C#中的效能優化技巧:加速您的應用程式》
系列文
《從基礎到精通:C#程式設計的實踐指南》30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言