gpt4 book ai didi

c# - 在不破坏客户端代码的情况下将一个接口(interface)拆分为两个新接口(interface)?

转载 作者:行者123 更新时间:2023-11-30 19:59:31 24 4
gpt4 key购买 nike

我有一个读取/写入 Excel 文件和 XML 文件的界面,如下所示:

interface IFileReader
{
void ReadExcelFile(string filePath);
void ReadXMLFile(string filePath);
void WriteExcelFile();
void WriteXMLFile();
}

如何在不破坏现有客户端代码的情况下将此接口(interface)中的方法分成两个不同的接口(interface)。新界面应如下所示:

interface IExcelFileReader
{
void ReadExcelFile(string filePath);
void WriteExcelFile();
}

interface IXMLFileReader
{
void ReadXMLFile(string filePath);
void WriteXMLFile();
}

最佳答案

Alexei Levenkov 有一个很好的解决方案,但这需要已经实现该接口(interface)的类将两个新接口(interface)添加到它们的声明中。一个侵入性较小的解决方案是:

interface IFileReader: IExcelFileReader, IXMLFileReader
{
}

interface IExcelFileReader
{
void ReadExcelFile(string filePath);
void WriteExcelFile();
}

interface IXMLFileReader
{
void ReadXMLFile(string filePath);
void WriteXMLFile();
}

关于c# - 在不破坏客户端代码的情况下将一个接口(interface)拆分为两个新接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23750256/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com