解耦,在以前确实做不到,但是周四和“横刀天笑”聊了之后,发现解耦是可以实现的。其实很简单,只要弄出来一个“实体类”就可以搞定了。
如果是简单的情况,那么就让表单控件“全权负责”了,这时候是不需要些什么代码的,点点鼠标,打几个字就可以了。
如果是有复杂的业务逻辑,那么就可以定义一个实体类,然后让表单控件给这个实体类的属性赋值,就是把用户输入的信息给实体类里对应的属性赋值(可以让表单控件通过反射自动实现,也可以单独写代码实现)。然后就可以调用逻辑层来处理业务逻辑了。只是这个实体类的属性只能是“简单类型”,实体类的属性类型不支持类、接口、委托等。
处理玩业务逻辑之后有两种选择,第一个就是在把属性值在返还给“表单控件”,继续原来的步骤;另一个就是使用您习惯的ORM来实现持久化。
这个只是“初探”,应该可以适用更多的情况,但是并不是说这样就可以“包治百病”了。
期待大家的宝贵意见,谢谢!
【自然框架】之 “表单控件”与“实体类” 一个具体的实现代码。