首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >API/Framework设计:设置模式/环境(例如开发模式等)

API/Framework设计:设置模式/环境(例如开发模式等)
EN

Stack Overflow用户
提问于 2011-06-09 00:03:06
回答 1查看 115关注 0票数 2

我想知道为asp.net编写的可重用web框架的最佳设置方式是什么,适合手动配置或使用依赖注入框架。

一些背景和解释:我们有一个内部设计的框架,它有几种模式:

  • 应用模式:开发,测试,测试。在配置文件中设置。
  • 是一个"kiosk“模式:打开,关闭。特定的应用程序,在代码中重写。
  • 运行时调试模式: if dev应用程序模式,并设置了特定的

参数。

  • 特定的调试标志:显示边框,显示性能信息等,由
  • 模式.

设置

因此,我们有几种不同的模式,可以在配置文件中设置,也可以在运行时或在启动时由应用程序根据其主要使用情况进行设置。

问题是,这些模式是通过框架中的单个“上帝”类来控制的,该类读取配置文件、url参数以及可以被重写以指定“kiosk”模式的虚拟属性。

因此,这个god类有很多对服务的引用,我可以提取这些引用并在构造函数中定义依赖注入。但是,对不同模式的检查会分散在整个代码库中(如果开发模式.或者是否是kiosk模式)。就像通过静态方法访问日志库有什么意义一样,我想知道,仅仅拥有应用程序将在ASP.NET的ApplicationStart事件中设置的几个静态方法是否更有意义。

这次代码重组的目的之一是帮助进行单元测试。在模式方面,只需要测试kiosk和非kiosk模式,因为调试模式只适用于开发人员。

选项:

用于设置模式的application

  • Have

  • Singleton类/静态方法,在特定于 dev/kiosk的对象开始时调用,并将它们作为依赖项传递,并在启动时配置。例如,不只是MailService,还有DevMailService和KioskMailService。这意味着启动with.
  1. Classes需要大量额外的工作,这些工作需要了解dev/kiosk模式或调试选项,这些选项具有启用/禁用的属性。应该由用户来检查他/她是否正确地设置了它们。(调试模式的合理默认值)在类的构造函数中将

  1. 或模式设置为布尔参数。(可能对必须正确设置的kiosk模式更有用)
  2. 是一个特殊的“模式服务类”,它通过构造函数传递给所有需要了解该模式的类。
  3. 是一个特殊的调试模式服务类,在必要时可以通过属性来设置,默认设置为null对象。
  4. 是选择的组合。

我倾向于用于调试设置和标志(3)的属性,用于设置kiosk模式的构造函数参数(4),但是使用特定的Kiosk和非Kiosk类编写了更新的代码(2)。不过,不太清楚如何处理通过url参数设置的调试模式,可能会通过带有空对象默认值的属性使用调试服务集。(6)

EN

回答 1

Stack Overflow用户

发布于 2011-06-23 04:12:09

我认为最好记住的是务实。代码重组的额外工作是否超过了好处?对我来说,这听起来是一个重大的架构改变,目前的模型似乎已经很好了。

对于我自己的一个项目,我也决定不进行架构更改,因为它会使我们失去对系统的信任。有时候,更好的方法是知道什么是不好的,而不是通过猜测如何做好而产生很多混乱。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6286674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档