繁体   English   中英

C#解决方案 - 有多少个项目?

[英]C# Solution - How many projects?

我用谷歌搜索了一下但是找不到好结果。

现在我正在建立一个网站,我试图从设计的角度来看它尽可能正确。

我现在面临的问题是,当决定开始记录时,我需要一个项目来放置这些代码。由于我在我的当前项目中找不到合适的位置,我想:嘿,为什么不是一个日志类库?

您应该拥有多少个项目的一般准则? 我知道这将是一个相当小的项目,但完全让它脱离我的方式会很好!

任何提示都很赞赏:)

你绝对应该有一个日志库。 如果你要从设计的角度来看这个'尽可能正确'并且你的预测不是那么简单,那么你肯定应该有一些项目。 问题是,我们不知道你在做什么,除了它是一个网络应用程序。 这是商业领域,通常决定了您的解决方案的复杂程度。

我会为一个小项目寻找一个三层架构。

这将包括:

  1. 应用层
  2. 业务层
  3. 数据层

但是如果要添加日志记录,最好创建另一个项目。 这也可以帮助您,如果您想将日志记录添加到另一个应用程序,您可以只包括日志记录项目。

如果您担心解决方案中的项目限制,则无论哪种方式都可行。 不要。

我自己会把它放在一个单独的项目或实用程序项目中。

我们有200多个项目的解决方案。 缺点是Visual Studio中的加载时间很长。 但过去,唯一的问题是确保你有足够的内存。

此外, MSBuild.exe内置了对SLN文件的支持,因此如果您正在进行自动构建,请考虑使用它而不是Visual Studio。

“那些一起变化的东西应该打包在一起”,我忘记了该指南的来源(代码完成可能?)。

换句话说,您的程序集(项目)应该以类/对象在较低级别执行的方式表示连贯的抽象。

所以,是的,一个单独的日志记录项目是正确的方法(虽然在你自己推出之前检查log4net或微软的日志块!)

将日志记录放入一个单独的项目是完全正常的。但是它真的取决于你的项目的范围。我通常设置我的项目这样

YourProject.Web(网络项目)

YourProject.Core(所有业务逻辑)

YourProject.Web.Tests(Watin测试)

YourProject.Web.Core.UnitTests(单元测试)

YourProject.Web.Core.IntegrationTests(集成测试)

我建议你从asp.net下载一些开源项目,看看项目是如何组织的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM