如何重构以清理维护窗口小部件状态的版本

时间:2013-06-23 17:24:54

标签: javascript design-patterns refactoring state

背景故事

我继承了一堆我想要重构的代码。它是用javascript编写的UI应用程序。

当前状态:

我们有主要应用程序,它由几个UI组件组成。每个组件都有输入字段,文本框,菜单等,如“票证”,“客户信息”等。根据输入,从哪里调用应用程序,谁是用户,我们启用/禁用,隐藏,显示,改变标题。

不幸的是,该应用程序已经发展到难以扩展,添加新功能的程度。主驱动程序(应用程序代码)调用各个组件的设置/取消设置功能。所以很多东西看起来像这样

主应用单元

function1() {
   **call_function2()**
   component1.setX(true);
   component1.setY(true);
   component2.setX(false);
}

call_function2() { 
       // it may repeat some of the code function1 called 
}

我们在主联盟中有很多这样的事情。

我正在清理这个烂摊子。维护小部件状态的最佳方法是什么? 如果您需要我澄清,请告诉我。

1 个答案:

答案 0 :(得分:1)

查看代码看起来就像是直接从函数中访问视图代码,正如您正确指出的那样是一个坏主意。如果你的应用程序是很多GUI的东西,那么我建议你采用MVVM方法。 它会将您的视图,绑定和功能完全分开。将来如果要更改GUI,可以在不触及任何其他类的情况下执行此操作。 好吧,我不是来自JS背景,但这就是我的.Net exp所说的。