结构型/装饰器模式/DecoratorService.cs

(开头部分) 3KB

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

namespace DesignModeConsole.结构型.装饰器模式;

/// <summary>
/// 装饰器服务
/// </summary>
public class DecoratorService : IService
{
    public void Main()
    {
        //日志记录的示例
        Log log = new DataBaseLog();

        LogWrapper lew1 = new LogErrorWrapper(log);
        //扩展记录错误严重类别
        lew1.Write("log message");

        Console.WriteLine("-----");

        LogWrapper lpw1 = new LogPriorityWrapper(log);
        //扩展记录优先级别
        lpw1.Write("log message");

        Console.WriteLine("----");

        LogWrapper lew2 = new LogErrorWrapper(log);
        LogWrapper logPriority = new LogPriorityWrapper(lew2);
        //同时扩展了错误严重级别和优先级别
        logPriority.Write("log message");

        //人穿衣服的示例  模拟人穿衣服的方案作为演示的例子
        var xc = new Persion("张三");
        Console.WriteLine("第一种装扮");

        var bigTrouser = new BigTrouser();
        var shirts = new TShirts();
        bigTrouser.Decorate(xc);
        shirts.Decorate(bigTrouser);
        shirts.Show();
    }
}

/// <summary>
/// 记录日志抽象类
/// </summary>
public abstract class Log
{
    public abstract void Write(string log);
}

public class DataBaseLog : Log
{
    public override void Write(string log)
    {
        Console.WriteLine("记录日志到数据库");
    }
}

public class TextFileLog : Log
{
    public override void Write(string log)
后面还有 111 行代码,解锁后查看完整代码

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

AI 解读 AI

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

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