【发布时间】:2015-05-07 16:32:27
【问题描述】:
我正在开发一个 C# 程序,它必须执行各种 HTTP 请求以获取不同类型的信息(区域中特定商品的价格、商品价格历史记录、两个区域之间的路线等)。
我首先实现了一个 IRequest 接口,该接口包含所有请求都必须具有的两个属性:
public interface IRequest
{
ReturnDataType DataReturnType { get; }
HttpWebRequest HttpRequest { get; }
}
public enum ReturnDataType
{
Xml,
Json
};
我想在该接口中添加一个列表(或任何其他容器),其中包含请求的参数(将添加到 URL 中),以便我可以通过引用 IRequest 接口来访问它们。不幸的是,由于每个http请求不一定有相同的请求,如果有,也不一定有相同的顺序,我不知道如何实现这一点。我想出的唯一解决方案是在界面中有一个List<String>,并依靠程序员来读取参数x应该总是在http请求列表中的第一个,参数y第二个等等,参数z对于 http 请求 b 等,总是首先出现。
由于我可能是唯一接触此代码的人,从长远来看它可能不会造成问题,但如果存在的话,我仍然希望使用更好的解决方案。
【问题讨论】:
标签: c# oop interface architecture