asp.net-mvc-3 – 我应该将我的实用程序类放在ASP.NET MVC3应用程序中?
|
我正在使用C#和Razor在ASP.NET MVC3中开发一个Web应用程序. 我需要创建一个实用程序类,我在其中放置函数将字符串转换为日期(年,月,日等等). 在ASP.NET Web窗体中,我曾经将这种类放在App_Code文件夹中.在MVC中没有这样的文件夹,我不认为实用程序类既不属于Models也不属于Helpers(我创建的文件夹,用于将我的扩展放在HTML Helpers上). 我读到将实用程序类放在不同的程序集中是一种很好的做法.我想一个不同的项目应该做的工作,但我应该创建什么样的项目?普通的类库项目对我来说似乎是最合乎逻辑的选择. 但是在我的情况下,我只需要使用多个方法放置一个单独的类,因此,如果我们忽略了可重用性,那么将实用程序类放在我的MVC3 Web应用程序中的某个地方是不是更合乎逻辑? 解决方法你不应该有实用程序类.将它们转换为更好的扩展方法.查看模型甚至更好.我经常为管道创建一个名为“HtmlHelpers”或“Infrastructure”的文件夹. “Common”文件夹就像垃圾桶imho.你把所有的垃圾都放进去了. 更新 我将它放在DateTime的扩展方法中(放在名为DateTimeExtensions的类中,该类放在名为Infrastructure的名称空间中). 我会在视图模型内部或在生成视图模型时(在控制器中)使用它. 至于哪个项目,它并不重要.重要的是你得到了具有特定任务(或职责)的小班. 有些人认为你应该有几个具有不同职责的类库.我不这样做.我为业务逻辑创建了一个UI项目和一个项目.但是,我确保这些类实现了一个或多个接口,以便以后能够重构应用程序. KISS也应该适用于项目结构,而不仅仅是其中的代码. 换句话说:我会将我的助手放在Core(业务逻辑项目)中名为Infrastructure的名称空间中. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 如何禁用通过IIS提供的单页面应用程序HTML文件的
- 我的ASP.NET Web应用程序无法“找到”App_Code文件夹中的任
- asp.net-mvc – ASP.NET MVC模型在编辑器模板中绑定IList
- asp.net-mvc – 如何将NUnit作为ASP.NET MVC的测试框架选项
- asp.net – 我可以在SQL会话状态配置中重用现有连接字符串吗
- asp.net-mvc – 在foreach中的mvc radiobuttons
- 如何重定向到ASP.NET MVC中的调用页面?
- asp.net – iTextSharp可以栅格化/导出为JPEG或其他图像格式
- asp.net实现文件下载的代码
- 模型视图控制器 – 如何在自定义MembershipProvider上调用I
- asp.net-mvc – ASP.net Web API和System.Net.Ht
- asp.net – HtmlGenericControl(“br”)呈现两次
- ASP.NET GridView SortedAscendingHeaderStyle不
- jQuery Ajax方法调用 Asp.Net WebService 的详细
- asp.net-mvc – 神控制器 – 如何防止它们?
- .net – SqlConnection的Dispose方法是否会干扰连
- asp.net – 可能导致XML解析错误:没有找到元素?
- asp.net-mvc – ASP.NET MVC:如何绑定List类型的
- [你必须知道的.NET] 开篇有益
- asp.net-mvc – 在ASP.NET MVC中的NHibernate会话
