在我自己的应用程序中,我需要验证键入的维度。我使用的顺序如下
- 用户选择或键入,然后离开控件。
- 该控件失去焦点,并通知View发送其ID和条目文本。
- 视图检查哪个Shape程序(实现接口的类)创建了Form,并向其传递ID和输入文本
- Shape程序返回响应。
- 如果“响应”正确,则视图将更新形状类的正确条目。
- 如果响应是正确的,则视图通过界面告诉表单可以将焦点转移到下一个条目。
- 如果“响应”不正确,则视图将查看响应,并使用“表单界面”告知表单要执行的操作。这通常意味着焦点会移回到有问题的条目,并显示一条消息,告诉用户发生了什么。
这种方法的优点是,对于给定的Shape
Program,验证集中在一个位置。我不必去修改每个控件,甚至不必担心表单上控件的不同类型。早在设计软件时,我就决定了UI如何用于文本框,列表框,组合框等。不同级别的严重性也有不同的处理方式。
视图负责通过接口指示表单做什么。它的实际实现方式由Form本身在Interface的实现中处理。视图并不在乎表单是显示黄色表示警告,还是显示红色表示错误。只有它可以处理这两个级别。稍后,如果出现了更好的显示警告与错误的提示,我可以在窗体本身中进行更改,而不必考虑使用View逻辑或Shape
Program中的validate。
如果您正在考虑制作一个类来保存验证逻辑,那么您已经到了一半,这将为您提供新设计的其余方法。



