public class Subject
{
private List<IObserver> observers = new List<IObserver>();
public void Attach(IObserver observer)
{
observers.Add(observer);
}
public void Notify()
{
foreach (var observer in observers)
{
observer.Update();
}
}
}
public interface IObserver
{
void Update();
}
public class ConcreteObserver : IObserver
{
public void Update()
{
// 收到通知後的處理邏輯
}
}
public interface IStrategy
{
void Execute();
}
public class ConcreteStrategyA : IStrategy
{
public void Execute()
{
// 策略A的執行邏輯
}
}
public class Context
{
private IStrategy strategy;
public Context(IStrategy strategy)
{
this.strategy = strategy;
}
public void ExecuteStrategy()
{
strategy.Execute();
}
}
這些設計模式可幫助您更好地組織和設計C#代碼,使其更具可讀性、可維護性和擴展性。請在您的項目中考慮使用適當的設計模式,根據需要進行自定義。在下一篇文章中,我們將討論C#中的並行編程技巧,以充分利用多核處理器和提高應用程序的性能。請繼續關注我在iThome鐵人賽系列的文章,以繼續深入了解C#程式設計的各個方面。