完全仲裁C#问题

Pet*_*nge 2 c# architecture

假设您有一个对象,为了示例,我们将调用ScoreHotChicksEngine.并且说ScoreHotChicksEngine的构造函数期望传递一个IDataReader,其中包含属于Lonely Geeks的评分热门小鸡的属性值.

ScoreChicksEngine(IDataReader reader);
Run Code Online (Sandbox Code Playgroud)

好的,这是我想收集的信息......

作为开发人员,您会发现在传递给ScoreChicksEngine之前必须先阅读读者会更有用

IDataReader = command.ExecuteReader();
reader.Read();
ScoreChicksEngine SCE = new ScoreChicksEngine(reader);
Run Code Online (Sandbox Code Playgroud)

或者你会假设引擎本身会调用该函数并可能处理空值?

IDataReader  = command.ExecuteReader();
ScoreChicksEngine SCE = new ScoreChicksEngine(reader);
if (SCE.HasReaderData()) doSomething();
Run Code Online (Sandbox Code Playgroud)

dir*_*tly 6

您是否应该考虑将数据集合与算法分离并在其间使用桥接解决方案(比如说是迭代器适配器)?只需我0.02美元.

这种设计的含义是该算法负责通过适配器根据需要进行调用以读取数据.适配器隐藏集合及其任何特定方面与所解决的问题没有密切关系.