首页 > 解决方案 > C# IoC 项目结构标准

问题描述

IoC C# 项目的推荐文件夹结构是什么?对于 MVVM 项目,标准是创建名为 Views 和 ViewModels 的文件夹(以及将接口和单元测试类放在哪里?)

如果一个 DLL 项目没有视图,但公开了许多要通过 IoC 创建的类,那么我的项目中应该有哪些文件夹呢?

此外,当我开始将代码重构为 IoC 时,我遇到了 SettingsFile 类的问题,该类包含序列化到文件中的数据。它包含几个方法:

主要问题在于 Load,因为反序列化对象会创建一个新的类硬实例,从而绕过 IoC 的原则。处理场景的正确方法是什么?

我正在考虑将所有代码移出该类,以便该类仅负责在没有任何代码的情况下进行序列化/反序列化,然后将其从 IoC 中排除。这是正确的做法吗?使用 Entity Framework 和使用任何自动生成的表类时,这是一个类似的问题。

谢谢

标签: c#mvvminversion-of-controlcastle-windsor

解决方案


答案是将数据类与行为类分开。SettingsFile 以及任何 EntityFramework 类都包含纯数据。通过 IoC 进行的依赖注入仅适用于行为类。


推荐阅读