在构建 Visual Studio 解决方案时,我倾向于将其构建为使各种组件位于不同的项目中(正如我假设大多数人所做的那样),我倾向于有一堆用户定义的异常。
问题是这些例外是否应该在(例如)模型类的单独项目中?
我倾向于将它们放在模型的子命名空间中,并将它们组织在模型项目中的目录中。但他们应该一起在一个单独的项目中吗?
在构建 Visual Studio 解决方案时,我倾向于将其构建为使各种组件位于不同的项目中(正如我假设大多数人所做的那样),我倾向于有一堆用户定义的异常。
问题是这些例外是否应该在(例如)模型类的单独项目中?
我倾向于将它们放在模型的子命名空间中,并将它们组织在模型项目中的目录中。但他们应该一起在一个单独的项目中吗?
这取决于您想象它们的使用方式以及您如何部署应用程序。根据经验 - 永远不要创建比需要更多的包/程序集。
将异常和接口类放在他们自己的程序集中有一个强有力的案例,那就是当它们应该在不一定需要“完整”包的客户端之间共享时,一种常见的情况是在使用远程处理时,另一种情况是在构建插件架构时。
我猜这取决于它们的使用方式。如果异常仅限于单个项目,请将其放在那里。如果多个项目使用它,请将其放在单独的项目中。
只要消息字符串是可配置的(属性文件/xml),我就不会打扰。但是,如果异常跨越项目,那么拥有一个通用的顶级接口肯定会有所帮助。