关于MVC项目的DRY原则

时间:2015-06-04 19:26:42

标签: c# refactoring

我有一个MVC项目,我在整个项目中不断重复以下类型的代码。

    def create_widgets(self):
        # global progress_bar (no longer needed)
        # add 'self'
        self.progress_bar = tk.ttk.Progressbar(orient=tk.HORIZONTAL, length=200, mode='determinate')
        self.progress_bar.pack(side="bottom")
        ...

def main():
    root = tk.Tk()
    app = Application(master=root)
    Work_Module.progress_bar = self.progress_bar  # add 'self'
    app.mainloop()

是否有可能重构这些空检查?

1 个答案:

答案 0 :(得分:0)

您可以通过正确的路由和regex constraint来消除第一项检查。您可以使用自定义模型绑定器解决第二个问题,以便您的操作方法签名变为:

public ActionResult CompleteTask(Task task)

但这需要在你的TaskBinder中引入一些丑陋,因为除了抛出异常然后将其捕获之外,我无法(在我知道的情况下)从自定义绑定器中终止请求处理你的基本控制器类。