tri*_*ter 7 c# architecture inversion-of-control autofac
我传统上是一个SQL人.我有一堆C#经验,但这些经常都是工具或定制项目.
我现在的任务是编写一个执行以下操作的应用程序...
所以,这是我第一次涉足IoC,我正在尽最大努力做正确的事情.我正在使用Autofac,我很满意这些概念.我的问题在于理解组合根,当可以通过容器时,我该用什么替换传统的"工厂"概念.我的应用程序使用L2S模型和通用存储库接口构建.我使用Autofac模块来注册具体类型.我有一个记录器并使用模块来注册具体类型.在我的测试控制台应用程序(将被Windows服务主机取代)中,我创建了一个容器并注册了logger和dal模块等.然后,我可以使用构造函数注入来解析我的文件观察类,以注入记录器和存储库.我还注入一个队列对象(在我的例子中是一个内存支持的队列,但可能是一个db队列),新文件入队(生产者).在队列的另一端,我需要一个消费者.因此,根据要出列的文件类型,我需要使用不同的加载器类.我历史上会使用工厂模式来返回适当的具体类.由于加载器类需要有一个记录器和适当的存储库注入其中,我无法看到如何创建适当的加载器类的实例来处理队列中的项目,而不给我的工厂类提供对IoC容器的引用.我知道我可以将各种项目处理程序注入我的消费者类,但是说我有50种文件类型,或100,这是不切实际的.
在我理解了如何做到这一点之后,我需要做类似的事情来观察新的解析作业(db表中的条目)并处理它们,但我假设它将遵循与上面类似的模式.
有什么建议吗?我离这个C#很远(距离很远),然后去SSIS加载文件,然后在SSIS中破解一些讨厌的解析器代码.请帮助C#学习者.
| 归档时间: |
|
| 查看次数: |
1418 次 |
| 最近记录: |