行为型/访问者模式/Sample1.cs
(完整代码) 1KBnamespace 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 算力,解读结果公开显示在下面。
还没有人解读过这个文件。