我有以下简单功能:重构的启用/禁用按钮切换功能
private void EnableDisable941ScheduleBButton()
{
if (this._uosDepositorFrequency.Value != null)
this._btnScheduleB.Enabled = ((int)this._uosDepositorFrequency.Value == 0);
}
这其中我想分成被动视图和主持人一个WinForm类的成员。显而易见的是,业务逻辑与用户界面布线缠绕在一起。我只是不确定将它们分开的最佳方式。
为了给出一点上下文,该函数从窗体中的三个位置调用。 _uosDepositorFrequency是一个只有两个按钮的单选按钮组。
任何想法?
更新:
好的,也许它不像我想象的那么明显。业务规则规定,如果雇主进行半周期存款(_uosDepositorFrequency.Value = 0),则他们需要填写附表B表格。
您是否真的需要将所有业务规则移出UI层?这通常会带来更多的复杂性,有时候值得一提的逻辑(尤其是你所展示的逻辑......) – 2009-04-30 16:01:01
嗯,我把业务规则分开的原因是因为表单将会是取而代之,但规则仍然存在。 – 2009-04-30 16:06:19
够公平的。我在下面的答案中给了你一个选项。但是,我个人会保留原样,只是为替换人员发表评论;一般而言,只有当您在多个用户界面之间共享业务规则时才有意义... – 2009-04-30 16:16:35