【发布时间】:2015-08-14 04:44:47
【问题描述】:
我需要从应用程序的业务层访问几个属性。这些是一些 id 和常用设置。它们中的大多数仅在请求-响应生命周期内有效。
这是一个设置了依赖注入的 Web 应用程序(具体来说是 ASP.NET Web 窗体)。
目前,这些属性通过方法参数直接传递给业务层的服务。这可行,但效率不高,因为:
- 有时需要更深入地传递参数的值,从而有点模糊可读性
- 某些属性应该被延迟解析,并且每个请求只应该执行一次
- 检索通过触摸数据库解决的属性可能会让新开发人员感到困惑(没有统一的方法)
- 一些服务是由工厂构建的,工厂通过一些配置参数丰富了它们
我正在考虑引入一个应用程序上下文接口,并在主项目中实现一个实现,该实现将在每个请求时创建。它可以直接注入到服务中,使它们自动和独立地参数化(服务不再需要工厂)。
是应该如何解决这个问题,还是有其他选择?
我不喜欢这里的一个选项是它可能会将主粒子与业务层结合起来,这不是The Clean Architecture 的完美示例。
【问题讨论】:
标签: asp.net .net architecture