- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
意识到这可能是主观的,具体取决于手头的项目,我正在寻找构建 VS (Visual Studio) 解决方案的“最佳实践”方法。
请随意编辑此内容、评论您认为可能不正确的内容、提出替代方案等。我很高兴看到此社区 Wiki 成长为刚刚开始使用 VS Solutions 的人们的绝佳资源。
下面是我现在为我工作的内容(在我当前的项目中),但是我知道事实上有些东西在错误的地方。 在我的场景中,我正在使用 MVC 2 构建Web 应用程序
请发布您对最终解决方案结构的想法,以便我们了解“最佳方式”/“最佳实践”(确切含义)
IE:
如何分解 DAL(数据访问层)/BLL(业务逻辑层)?
您是否将存储库层和服务层放入 BLL 中?如果您使用 MVC(模型- View - Controller ),您是否将 Controller 保留在 UI 而不是核心中?
您是否在“实用程序/杂项”文件夹中扔了很多东西,或者您是否将它们进一步分解?
等等...
<小时/>
- MySolution
- MySolution.Core
- Authentication
- this is where I have a POCO and a method to searialize the poco into the userData secion of the auth cookie
- Base
- here is where I keep my BaseController and by BaseGlobal
- Controllers
- all of my controllers (obviously)
- Domain
- DatabaseModels
- contains my L2S .dbml file
- JsonModels
- models used to pass JSON objects to the veiw
- Repositories
- Services
- ViewModels
- Extensions
- all extension methods
- Filters
- Action Filters
- Utilities
- Apis
- all third party API code goes in here
- Badges
- badge calculation goes here
- MailClient
- send plain text or html email using the classes in here
- RoutingHelpers
- contains a class to enable lowercase routes
- also contains things that I don't know where else to put... IE: HTMLSanitizer, custom HtmlHelpers,UserInfo helper (IP address, browser, etc), DataConverter, etc
- MySolution.UI
- App_Browsers
- Assets
- Css
- Images
- Scripts
- Views
- Global.asax - inherits from BaseGlobal
- Web.config
屏幕截图
请随意发表相应的评论,或者更好的是,在下面发布您自己的版本(答案)。我知道我所拥有的并不是最好的方法。
最佳答案
不错的维基。
我正在开始一个新项目,这是我开始的结构。
它遵循 Microsoft 最佳实践(业务、数据、服务、演示)。
在我的解决方案中:
您会注意到,我还习惯在实际项目程序集名称前添加 FQN 前缀。
我只是喜欢它的外观,而且在对象资源管理器中它看起来很漂亮并且“像树一样”。
我还有一个习惯,就是在文件夹前面放一个数字,这样它就按照“什么需要什么”来排序。换句话说,一切都取决于业务层(所以它在顶层),存储库仅取决于业务,服务取决于存储库和业务,呈现取决于服务和业务,等等。
当然,以上只是一个起点。我现在拥有的只是一个返回用户的存储库,以及在其之上应用逻辑(过滤)的服务。
最终我将拥有更多的业务项目、更多的存储库(Web 应用程序的每个逻辑区域一个)、更多的服务(外部 API、集成),当然我在演示方面什么也没有(我正在做 TDD)。
我还喜欢将依赖项全部放在一个位置(项目文件夹)。
对于扩展,我为每个项目都有一个类(Extensions.cs)。换句话说,我正在“扩展”存储库,或者“扩展”用户服务,或者“扩展”一些 UI 功能。
对于测试项目 - 我每个解决方案项目都有测试项目。
这是我的两分钱(无论它的值(value))。
关于.net - 终极 Visual Studio 解决方案结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3516313/
意识到这可能是主观的,具体取决于手头的项目,我正在寻找构建 VS (Visual Studio) 解决方案的“最佳实践”方法。 请随意编辑此内容、评论您认为可能不正确的内容、提出替代方案等。我很高兴看
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visi
我维护和协作一些用 CommonJS 编写的 JavaScript 模块,这些模块需要高质量的 UMD 包装器。 依赖项来自 npm 但至少有 CommonJS 和 AMD 支持(或者我可以添加它)。
Intellisense 在我的 VS 上运行得非常糟糕...... 当我用 C++ 编写代码时,它可以 100% 正常工作,直到我开始使用模板,然后它才会完全停止工作,停止检测错误并且不会在所有情况
Microsoft网站具有冲突的信息: http://msdn.microsoft.com/en-us/library/ms182372.aspx ...使用Visual Studio Premium
我是一名优秀的程序员,十分优秀!