我想知道为asp.net编写的可重用Web框架的最佳设置方式是什么,适用于手动配置或依赖注入框架。
一些背景和解释:我们有一个内部设计的框架,有几种模式:
因此,我们有一些不同的模式可以在配置文件中设置,或者在运行时或启动时由应用程序设置,具体取决于其主要用途。
问题是这些模式是通过框架中的单个“god”类来控制的,该类读取配置文件,url参数,以及具有可以覆盖的虚拟属性以指定“kiosk”模式。
所以这个神类有很多对服务的引用,我可以在构造函数中提取并定义依赖注入。然而,对不同模式的检查遍布整个代码库(如果是dev模式......或者如果是kiosk模式)。就像通过静态方法访问日志库有什么意义一样,我想知道应用程序在asp.net的ApplicationStart事件中设置一些静态方法是否更有意义。
此代码重新洗牌的目的之一是帮助进行单元测试。在模式方面,只需要测试信息亭和非信息亭模式,因为调试模式仅适用于开发人员。
选项:
我倾向于调试设置和标志(3)的属性,用于设置kiosk模式(4)的构造函数参数,但是使用特定的Kiosk和非Kiosk类编写了更新的代码(2)。不太确定如何通过url参数处理调试模式集,但可能通过具有null对象默认值的属性使用调试服务集。 (6)
答案 0 :(得分:0)
我认为要记住的最好的事情是务实。代码的额外工作重新洗牌是否超过了好处?对我而言,这听起来像是一个重大的架构变化,而且目前的模型似乎已经相当不错了。
对于我自己的一个项目,我也决定不去进行体系结构更改,因为我们会失去对系统的信任。有时最好知道哪些不能正常工作,而不是通过猜测如何做到这一点而产生很多混淆。