行为型/观察者模式/Sample2.cs

(开头部分) 2KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

namespace DesignModeConsole.行为型.观察者模式;

/// <summary>
/// 用户控制器
/// </summary>
public class UserController
{
    private List<RegObserver> RegObservers = new List<RegObserver>();

    public void SetRegObservers(List<RegObserver> observers)
    {
        RegObservers.AddRange(observers);
    }

    /// <summary>
    /// 注册接口(注册成功后发送邮件和短信通知)
    /// </summary>
    /// <param name="userName"></param>
    /// <returns></returns>
    public long Register(string userName)
    {
        // 校验以及注册用户
        var userId = 123456L;

        // 注册成功后发送邮件和短信
        foreach (var observer in RegObservers)
        {
            observer.HandleRegSuccess(userId);
        }

        return userId;
    }
}

/// <summary>
/// 用户控制器
/// </summary>
public class UserController2
{
    private List<RegObserver> RegObservers = new List<RegObserver>();

    public void SetRegObservers(List<RegObserver> observers)
    {
        RegObservers.AddRange(observers);
    }

    /// <summary>
    /// 注册接口(注册成功后发送邮件和短信通知)
    /// </summary>
    /// <param name="userName"></param>
    /// <returns></returns>
    public long Register(string userName)
    {
        // 校验以及注册用户
        var userId = 123456L;

        // 注册成功后发送邮件和短信
        foreach (var observer in RegObservers)
        {
            Task.Run(() =>
后面还有 35 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。