控制器是EEPlat平台界面层部分的核心概念。平台中界面展示都是通过平台的各种控制器综合控制输出的。
EEPlat平台的界面层模型採用了HMVC模式。HMVC模式的採用使得EEPlat平台界面层可以实现从粗粒度到细粒度的灵活的复用,也就是说从比較大的界面区域到最细粒度的界面元素都可以得到良好的复用。为了实现复用。把这些界面粒度通过控制器来实现,也就是说界面的各层次的复用通过各层次的控制器的复用来实现。
传统的MVC模式。一个界面相应一个控制器。这个界面和控制器是粗粒度的,这也是传统MVC模式在复用方面无法做到更细更深层次复用的一个根本原因。
这也是界面深层次复用面临的一个问题。
EEPlat平台採用多层次的HMVC模式,通过各层地各类控制器控制界面的输出,实现了从粗粒度到细粒度的界面控制复用。
控制器分类
控制器分类能够有多种分类方式,最主要的依照概念即用途分类。也能够从开发方式上分类,也能够从复用场景上分类。
基本概念分类
在EEPlat平台中,界面层模型主要包含:面板、表格、表格元素、功能树和菜单五类基本概念。
例如以下图所看到的:
对应的从概念分类分为:
(1)面板控制器(pane)
(2)表格控制器(grid)
(3)表格元素控制器(form)
(4)功能树控制器(tree)
(5)菜单控制器(menu)
实现方式分类
从实现角度讲,分为三种实现方式。
(1) Java类方式。即控制器的实现为一个Java类,命名上无标识。此类控制器的开发、扩展改动须要编译后才干被使用;
(2) Java类+模板方式,控制器的实现通过部分Java类+模板脚本(freeMarker)共同实现,因为採用了脚本,所以此类控制器的开发相对更加简洁,但相同不要编译后才干被使用;此类控制器从名称上最后一部分名字以T開始,如:form.TPane、form.TService等。
(3) OnlineDevelop方式。即在线开发方式,採用在线的JavaScript脚本和freeMarker脚本开发控制器,此类控制器在线开发即时运行,无需编译,存储在系统模型数据库中,因而在在线开发方面具有非常好的优越性。此类控制器从名称上最后一部分名字以TDB開始,如:pane.TDBPaneTemplate、grid.TDBGridTemplate等。
复用场景分类
从复用场景上分为平台控制器和项目控制器。
(1)平台控制器即基本上是各应用场景均能用到的和应用无关的控制器,如常见各种表格、各种表格元素、各种button形式等。
(2)项目专用控制器是指为了满足某一特定的项目的需求而开发的智能应用于该项目特定场景吓的控制器,这类控制器无法在更通用的层次复用。仅仅能在该特定应用场景下复用。