安装和升级应用程序的高级设计

时间:2009-03-07 09:16:03

标签: architecture workflow

我需要编写一个非常简单的WinForms应用程序,但我常常陷入分析模式。我坚持使用Yes,No,Retry循环,并且很少考虑应用程序的操作,我开始考虑应用程序的“工作流程”。我应该为每个任务设置一个方法,并在检查前一个没有引发“中止”标志后依次调用每个任务吗?

我应该为每个任务实现一个简单的ITask接口和一个类,然后遍历一个有序的任务集合?我应该将其用作Windows Workflow的简单介绍吗?这个应用程序的范围及其任务集保证会增长,因此我对任务进行硬编码的第一个选择是最糟糕的,但考虑到应用程序的大小,只需更改代码就可以轻松完成维护;可执行文件始终使用升级材料进行部署,而不是永久部署。

3 个答案:

答案 0 :(得分:1)

在工作流基础上,我会将其保留在高级场景/项目中,您将在其中使用大量场景/项目,例如您希望根据用户/公司变化的高度可定制的工作流,复杂的工作流需求,暂停/继续。

我会选择ITask路线以获得灵活性(与简单方法相比),同时仍然很简单。我觉得它也可以帮助你进行单元/集成测试。这就是说我建议你继续关注任务的重复使用,比如说文件移动任务,因为你不想以大量相同的任务结束。只需在重构步骤中执行,因此您可以根据实际需要/使用来指示您需要的内容(在测试中 - TDD:))。

答案 1 :(得分:0)

做最简单的事情。你以后总是可以重构。

答案 2 :(得分:0)

我要补充彼得的建议说:“最简单的事情可能会起作用这也是好的设计”。

从设计的角度来看,有时候“最简单”的东西也是最蠢的东西,它会引起悲伤,这与极端编程的口号相反。

你的第二个选择对我来说是正确的。它实施简单,设计合理,便于以后维护。