信息管理系统开发框架设计(七) - MVC框架 - View

在efframework中,view部分的实现其实就是一个delphi的form。分析信息管理的基础功能,界面可以分为2类型:

  • 信息列表界面TInfoManagementView:
    • 提供一个信息列表(可以用一个表格呈现),
    • 提供用户对信息进行操作的各种可视化功能组件(如菜单、按钮等)),基本功能有新增,修改,删除,查看。通过这些可视组件,用户发起操作请求,相应的controller监听到请求后,可能呈现信息编辑界面View给用户进行信息编辑/查阅,或者调用关联的model执行用户请求(如删除当前信息行)。
    • 我在框架里提供了Modal方式,界面融合方式这两种方式来显示信息列表View;没有实现MDI显示方式。
  • 信息编辑界面TInfoEditView:
    • 提供用户需要输入或查看的信息栏位,在编辑模式下接受用户输入
    • 用户执行保存时(例如点击按钮或菜单项“保存”)将用户输入数据更新到model实例,然后调用model的save方法,执行校验、更新数据库及其他相关的事务处理。
    • 用户放弃本次操作时,退出信息编辑View,回到信息列表界面。
    • 我在框架里仅实现了Modal方式。

我的设想是View仅聚焦在用户交互的栏位及功能项的呈现上。任何关于业务的逻辑都不需要包含进来。在设计时,先实现model跟View部分;最后设计实现Controller,由其完成对view的控制及与model的交互。

思考:

传统的开发模式,有的可能分离出来了model部分,但是controller与view是作为一个整体存在;在delphi的VCL机制下,这种实现其实是很高效的;Form的可视化界面设计其实已经融合了controller与view部分。分离出controller就不是那么必要;也减少了设计的复杂性。

反过来思考:少了controller的存在,就增加了model与view的代码耦合度。

 

你可能感兴趣的:(Delphi应用心得,信息化管理)