3

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

现在,我正在构建一个网站,并且从一开始就试图从设计的角度使其尽可能正确。

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

是否有关于您应该拥有多少个项目的一般指导方针?我知道这将是一个相当小的项目,但完全摆脱它会很好!

任何提示表示赞赏:)

4

6 回答 6

3

绝对你应该有一个日志库。而且,如果您要使其“从设计的角度尽可能正确”并且您的项目不那么简单,那么您肯定应该拥有一些项目。问题是,除了它是一个网络应用程序之外,我们不知道你在做什么。商务领域通常决定了您的解决方案必须有多复杂。

于 2010-03-29T21:38:37.777 回答
2

我会为一个小项目选择三层架构。

这将包括:

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

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

于 2010-03-29T21:41:15.750 回答
1

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

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

于 2010-03-29T21:35:27.243 回答
1

我们有一个包含 200 多个项目的解决方案。缺点是 Visual Studio 中的加载时间长。但除此之外,唯一的问题是确保您有足够的 RAM。

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

于 2010-03-29T21:37:40.733 回答
1

“一起改变的应该打包在一起”,我忘记了该准则的来源(也许是代码完整?)。

换句话说,您的程序集(项目)应该代表一个连贯的抽象,就像您的类/对象在较低级别上所做的一样。

所以是的,一个单独的日志项目是正确的方法(尽管在你自己动手之前一定要检查 log4net 或微软的日志块!)

于 2010-03-29T21:38:37.227 回答
1

将日志记录到一个单独的项目中是非常好的。但是它真的取决于你的项目的范围。我通常像这样设置我的项目

YourProject.Web(网络项目)

YourProject.Core(所有业务逻辑)

YourProject.Web.Tests(Watin 测试)

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

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

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

于 2010-03-29T21:39:03.627 回答