我需要创建一个实用程序类,我在其中放置函数将字符串转换为日期(年,月,日等等).
在ASP.NET Web窗体中,我曾经将这种类放在App_Code文件夹中.在MVC中没有这样的文件夹,我不认为实用程序类既不属于Models也不属于Helpers(我创建的文件夹,用于将我的扩展放在HTML Helpers上).
我读到将实用程序类放在不同的程序集中是一种很好的做法.我想一个不同的项目应该做的工作,但我应该创建什么样的项目?普通的类库项目对我来说似乎是最合乎逻辑的选择.
但是在我的情况下,我只需要使用多个方法放置一个单独的类,因此,如果我们忽略了可重用性,那么将实用程序类放在我的MVC3 Web应用程序中的某个地方是不是更合乎逻辑?
解决方法
我经常为管道创建一个名为“HtmlHelpers”或“Infrastructure”的文件夹.
“Common”文件夹就像垃圾桶imho.你把所有的垃圾都放进去了.
更新
我将它放在DateTime的扩展方法中(放在名为DateTimeExtensions的类中,该类放在名为Infrastructure的名称空间中).
我会在视图模型内部或在生成视图模型时(在控制器中)使用它.
至于哪个项目,它并不重要.重要的是你得到了具有特定任务(或职责)的小班.
有些人认为你应该有几个具有不同职责的类库.我不这样做.我为业务逻辑创建了一个UI项目和一个项目.但是,我确保这些类实现了一个或多个接口,以便以后能够重构应用程序. KISS也应该适用于项目结构,而不仅仅是其中的代码.
换句话说:我会将我的助手放在Core(业务逻辑项目)中名为Infrastructure的名称空间中.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。