2010-07-08 79 views
1

我以前真的只在您的一般三层系统上工作。一般体系结构问题

我现在的任务是稍有不同。我现在需要使用FTP从第三方位置检索文件。在过去的几次我会建立一个控制台应用程序运行并按计划运行它。它会有效,但可能不是最好的。

我在寻找一些可能有用的一般模式。我不想进入建筑师宇航员的土地。我只是想确保我不会重新发明轮子或制造新的错误。

我会在.NET Framework

回答

2

我的看法是,(一般)的最佳架构仅仅是实现了所有要求的简单archetecure来实现这一点。

,我可以看到这两个直接的选择是:

  • ,关于计划任务
  • 运行

有些人可能会争辩说,写一个简单的服务运行一个简单的控制台应用程序服务更灵活,因此是更好的体系结构,但它也是更复杂的设计 - 例如:

  • 如果有人想手动触发下载,会发生什么情况?
  • 您现在还需要掌握定时器和线程等......
  • 如果发生故障会发生什么?
  • 等...

这可能是某些要求(例如弹性或东西)是指一个简单的控制台应用程序不会满足所有在这种情况下你是被迫的要求去与更多复杂的解决方案,但是如果你能摆脱它,我会去控制台应用程序。

+0

我同意你应该使用任务调度程序。使用编写的工具来处理这种情况。这将允许您将时间和精力集中在控制台应用程序上。 – 2010-07-08 01:52:52

0

我同意总是编写满足要求的最简单应用程序的想法。在这种情况下,听起来像一个控制台应用程序运行使用任务调度程序将是完美的。我还建议你使用测试驱动开发和log4net进行日志记录。

+0

同意TDD和log4net。 我已经在流利和Nhibernate旁边使用了log4net。 TDD正在进行中。我通常会自己动手,但现在我试图使用Nunit。 – bearrito 2010-07-08 03:19:42