我即将创建一个桌面应用程序(使用.NET窗体)
基本上,我想创建一个n层应用程序,但我也希望层之间松散耦合.但是,我不太确定这是否适用于Windows窗体
现在我只是想知道使用任何IoC(StructureMap,Ninject,Spring.Net)是否真的是一个明智的选择,我之前使用过它们用于Asp.Net Web应用程序,但是现在让我怀疑的是这个事实Windows窗体我的业务实体将在我浏览选项卡时保持不变,而不像网络表单或mvc应用程序,其中必须为每个执行的新请求注入我的业务实体,我的意思是因为Asp.Net页面生命周期在哪里执行初始化和控制实例化.
这是一个长期的开发项目,它结合了维护跟踪,库存,工作单和管理报告.我目前正在制定其架构提案.
也许我误解了使用IoC的重点,所以请告诉我你认为什么是更好的选择?
任何观点都将不胜感激.
.net dependency-injection ioc-container inversion-of-control n-tier-architecture
我对构造函数注入模式和规则有点困惑不要调用容器; 它会打电话给你.
有人可以解释我(也许还有其他人)真正的应用程序如何使用构造函数注入获得所有DI优势?我给出了一些简单的,我认为常见的例子:
DomainObject
RepositoryObject
DaoObject
Run Code Online (Sandbox Code Playgroud)
关系很明显(我认为) - RepositoryObject需要DaoObject,DomainObject需要Repository.
使用构造函数注入我假设我可以忘记(在大多数情况下)关于NEW关键字,但是何时,何地以及如何创建新对象(主要是域)?我必须为所有班级写工厂吗?我应该在那家工厂参考DI Container吗?
最好的将是当有人向我展示一些真实的应用程序示例(请不要Asp.Net MVC :))或草绘一些项目结构.
.net ×2