重新构建Compact Framework .NET 3.5应用程序

时间:2014-03-20 08:51:31

标签: c# .net architecture compact-framework n-tier-architecture

我最近加入了一家使用.NET Compact Framework 3.5应用程序的公司,该应用程序应该是一个典型的3层应用程序(客户端/ UI,业务,数据)。不幸的是,应用程序处于一种悲惨的状态 - 控制的业务逻辑,没有单元测试/模拟等等......我们有机会尝试改变它但是想知道是否有人有任何类似的经验来解决这个问题?由于这是一个生产系统,我们不能只是在夜间进行蒸汽加工和更换,因此需要更多的分阶段方法。

是否有任何建议或指向任何最佳做法的链接?

1 个答案:

答案 0 :(得分:0)

如果它有效并且通过使用进行测试,除非需要进行更改,否则我不会碰任何东西。如果需要,我会做以下事情:

  1. 找到需要更改的部分。
  2. 重构该部分以使其可测试。
  3. 编写足够的测试以确保当前逻辑的安全并使它们变为绿色。
  4. 重构为新设计。
    1. 如果当前的设计真的很麻烦,可以根据需要分成更小的部分。
    2. 为这些新零件编写测试。
  5. 然后逐位更改测试和部件以反映新功能。
  6. 让测试变为绿色。
  7. 实际上,我可能会一起执行第4步到第6步,不必为许多测试和逻辑写入我正在改变的东西,但这都是关于你能在头脑中跟踪多少,以及如何安全你知道你正在改变的部分如何影响系统的其他部分。

    如果更改影响了应用程序的大部分内容,那么在没有完全重写所有内容的情况下做起来会很棘手。另一方面,我怎样才能成功地重写那些我不理解的东西?基本上它是在找出它应该做什么然后重新编写应用程序的时间与理解当前应用程序并添加更改所花费的时间之间的平衡。