gpt4 book ai didi

asp.net-mvc-3 - 我应该将我的实用程序类放在 ASP.NET MVC3 应用程序中的什么位置?

转载 作者:行者123 更新时间:2023-12-04 06:07:33 25 4
gpt4 key购买 nike

我正在使用 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com