C# IoC 项目结构标准
C# IoC Project Structure Standards
IoC C# 项目的推荐文件夹结构是什么?对于 MVVM 项目,标准是创建名为 Views 和 ViewModels 的文件夹(以及将接口和单元测试放在哪里 classes?)
DLL 项目怎么样,它没有视图,但公开了许多要通过 IoC 创建的 classes,哪些文件夹应该在我的项目中?
此外,当我开始将代码重构为 IoC 时,我 运行 遇到了 SettingsFile class 的问题,其中包含序列化到文件中的数据。它包含几个方法:
- void SetDefaultValues()
- 设置文件加载()
- 无效保存()
- 字符串验证()
- 设置文件复制()
主要问题在于加载,因为反序列化对象会创建 class 的新硬实例,从而绕过了 IoC 的原则。处理场景的正确方法是什么?
我正在考虑将所有代码移到 class 之外,这样 class 只负责 serialized/deserialized 没有任何代码,然后将其从 IoC 中排除。这是正确的做法吗?使用 Entity Framework 和使用任何自动生成的 table classes.
时也会出现类似的问题
谢谢
答案是将数据 class 与行为 class 分开。 SettingsFile,以及任何 EntityFramework class,只包含数据。通过 IoC 的依赖注入仅适用于行为 classes.
IoC C# 项目的推荐文件夹结构是什么?对于 MVVM 项目,标准是创建名为 Views 和 ViewModels 的文件夹(以及将接口和单元测试放在哪里 classes?)
DLL 项目怎么样,它没有视图,但公开了许多要通过 IoC 创建的 classes,哪些文件夹应该在我的项目中?
此外,当我开始将代码重构为 IoC 时,我 运行 遇到了 SettingsFile class 的问题,其中包含序列化到文件中的数据。它包含几个方法:
- void SetDefaultValues()
- 设置文件加载()
- 无效保存()
- 字符串验证()
- 设置文件复制()
主要问题在于加载,因为反序列化对象会创建 class 的新硬实例,从而绕过了 IoC 的原则。处理场景的正确方法是什么?
我正在考虑将所有代码移到 class 之外,这样 class 只负责 serialized/deserialized 没有任何代码,然后将其从 IoC 中排除。这是正确的做法吗?使用 Entity Framework 和使用任何自动生成的 table classes.
时也会出现类似的问题谢谢
答案是将数据 class 与行为 class 分开。 SettingsFile,以及任何 EntityFramework class,只包含数据。通过 IoC 的依赖注入仅适用于行为 classes.