【发布时间】:2015-05-02 00:43:17
【问题描述】:
我想创建一个简单的通用接口来将数据保存到集合并从集合中加载数据。以下哪一项(或没有)最合适?
集合可以有很多层次,这些细节会隐藏在界面后面。
选项 A。
public interface ISaveToCollection<T,U>
{
void Save(T element);
U Data { get; }
}
public interface ILoadFromCollection<T,U,V>
{
U Load(T index);
V Data { get; }
}
选项 B。
public interface ISaveToCollection<T>
{
void Save(T element);
}
public interface ILoadFromCollection<T,U>
{
U Load(T index);
}
public interface IHoldData<T>
{
T Data { get; }
}
选项 C。以上都不是(连同原因和替代方案)。
【问题讨论】:
-
为什么要这样做?我不确定您所说的“保存”、“加载”和“数据”是什么意思,但
ICollection接口已经为您可能希望对集合执行的任何操作提供了完整的 API。 -
只要实现我上面提到的集合接口,你就可以在实现类中隐藏所有你想要的层次和分层。为什么要制作新界面?
标签: c# collections interface