- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 C# 和 Razor 在 ASP.NET MVC3 中开发一个 Web 应用程序。
我需要创建一个 实用类 我在其中放置了将字符串转换为日期(年、月、日等)的函数。
在 ASP.NET Web 窗体中,我曾经将此类类放在 中。应用代码 文件夹。在 MVC 中没有这样的文件夹,我不认为 实用类 不属于型号 也不是 helper (我创建的一个文件夹,用于将我的扩展放在 HTML Helpers 上)。
我读到将实用程序类放在 中是一个很好的做法。不同的组件 .我想应该有一个不同的项目来完成这项工作,但我应该创建什么样的项目?一个平原 类库项目对我来说似乎是最合乎逻辑的选择。
但是在我的情况下,我只需要放置一个具有多种方法的类,因此,如果我们忽略可重用性,那么将实用程序类放在我的 MVC3 Web 应用程序中的某个地方不是更合乎逻辑吗?
最佳答案
你不应该有实用程序类。将它们转换为更好的扩展方法。 View 模型甚至更好。
我通常为管道创建一个名为“HtmlHelpers”或“Infrastructure”的文件夹。
“Common”文件夹就像垃圾桶恕我直言。你把所有的垃圾都放进去。
更新
我会将它放置在 DateTime 的扩展方法中(放置在名为 DateTimeExtensions 的类中,该类放置在名为 Infrastructure 的命名空间中)。
我会在 View 模型内部或生成 View 模型时(在 Controller 中)使用它。
至于是哪个项目,其实并不重要。重要的是你有特定任务(或职责)的小类。
有些人认为你应该有几个具有不同职责的类库。我不那样做。我为业务逻辑创建了一个 UI 项目和一个项目。但是,我确保这些类实现了一个或多个接口(interface),以便以后能够重构应用程序。 KISS 也应该适用于项目结构,而不仅仅是其中的代码。
换句话说:我会将我的助手放在名为基础架构的命名空间中的核心(业务逻辑项目)中。
关于asp.net-mvc-3 - 我应该将我的实用程序类放在 ASP.NET MVC3 应用程序中的什么位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9230139/
我是一名优秀的程序员,十分优秀!