行为型/访问者模式/Sample1.cs

(完整代码) 1KB

namespace DesignModeConsole.行为型.访问者模式;

/// <summary>
/// 资源文件  违反开闭原则,每次增加功能都要修改所有的类,业务逻辑都在一个类中
/// </summary>
public abstract class ResourceFile
{
    private readonly string _filePath;

    public ResourceFile(string filePath)
    {
        _filePath = filePath;
    }

    /// <summary>
    /// 提取文本
    /// </summary>
    public abstract void Extract2Txt();
}

public class PptFile : ResourceFile
{
    public PptFile(string filePath) : base(filePath)
    {
    }

    public override void Extract2Txt()
    {
        // 省略从ppt抽取文件的代码

        Console.WriteLine("extract ppt");
    }
}

public class PdfFile : ResourceFile
{
    public PdfFile(string filePath) : base(filePath)
    {
    }

    public override void Extract2Txt()
    {
        // 省略从pdf抽取文本的代码
        Console.WriteLine("extract pdf");
    }
}

public class WordFile : ResourceFile
{
    public WordFile(string filePath) : base(filePath)
    {
    }

    public override void Extract2Txt()
    {
        // 省略从word抽取文本的代码
        Console.WriteLine("extract word");
    }
}

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

AI 解读 AI

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

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