【发布时间】:2017-08-31 11:33:23
【问题描述】:
我有旧版 win.forms 应用程序,它以非常简单的方式编写,表单在 UI 事件上与 DAL 进行通信。例如,有文本框:登录名/密码、按钮 - “登录”和实现业务逻辑的单击处理程序(要求 DAL 通过 id/密码获取用户,如果不为空 - 则显示下一个屏幕,如果为空 - 显示“重试屏幕”)。
我无法从头开始重写它(在 MVP 或视图/文档模式中),我只想将业务逻辑与处理程序分开:获取与 DAL 通信的现有处理程序代码并将其分组到 UI 处理程序之外的某个位置。
数十个表单由数十个用户控件组成,通常不清楚谁负责业务逻辑。有时它是 UI 控件。但有时它是一个表单,它正在监听自定义 UI 控件事件,然后实现业务逻辑。
如果我分离业务逻辑,谁应该负责调用业务逻辑控制器?表单、用户控件,还是表单和用户控件同时使用?
提前谢谢你!
【问题讨论】:
标签: winforms language-agnostic architecture refactoring