在我之前的工作中,他们使用了很多 IEquatable<IInterface>
和 Dictionary<int, IInterface>
声明。我们做了很多网站,因此使用 Entity Framework (5+) 和 DIF 模型 (CaSTLe) 进行对象解析。
在我的新工作中,我负责将应用程序过渡到现在。当前的这个项目是一个桌面 (WinForms) 应用程序,由于集成的复杂性,我已经决定不再使用 EF 和 DIF。因此尝试将 EF 设计用于更新的 ADO 对象/父关系。
因此,我将我的单例声明分割成一个领域项目,将单例集合分割成存储库项目,并将与存储库的交互分割成一个服务项目。以 GUI (WinForms) 的意图访问服务项目作为它与数据库的唯一交互。
由于我正处于设计存储库设计和交互的阶段,我需要能够存储 Repo 域对象的集合,并且不确定是否应该将字典设置为 Dictionary<int, Object>
或 Dictionary<int, IObject>
.
就本地资源管理而言,哪种实现对系统资源的总体负载更好?两种实现方式的优缺点是什么?
最佳答案
这不会有任何区别。归根结底,Dictionary
中的值将成为特定类的对象,并将根据对象的需要占用空间。
你需要考虑为什么你需要在这里使用接口(interface)?它是否有某种用途?
关于c# - 集合中接口(interface)与对象引用的优势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21989530/