行为型/观察者模式/Sample1.cs
(开头部分) 1KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
namespace DesignModeConsole.行为型.观察者模式;
public interface Subject
{
/// <summary>
/// 注册观察者
/// </summary>
/// <param name="observer"></param>
void RegisterObserver(Observer observer);
/// <summary>
/// 移除观察者
/// </summary>
/// <param name="observer"></param>
void RemoveObserver(Observer observer);
/// <summary>
/// 通知观察者
/// </summary>
/// <param name="message"></param>
void NotifyObservers(Message message);
}
/// <summary>
/// 观察者模式实现
/// </summary>
public class ConcreteSubject : Subject
{
private List<Observer> Observers { get; set; } = new List<Observer>();
public void RegisterObserver(Observer observer)
{
Observers.Add(observer);
}
public void RemoveObserver(Observer observer)
{
Observers.Remove(observer);
}
public void NotifyObservers(Message message)
{
foreach (var observer in Observers)
{
observer.Update(message);
}
}
}
/// <summary>
/// 第一个观察者
/// </summary>
public class ConcreteObserverOne : Observer
{
public void Update(Message message)
{
Console.WriteLine("ConcreteObserverOne 被通知");
}
}
后面还有 23 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。