控制器是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)项目专用控制器是指为了满足某一特定的项目的需求而开发的智能应用于该项目特定场景吓的控制器,这类控制器无法在更通用的层次复用。仅仅能在该特定应用场景下复用。

EEPlat的控制器概念的更多相关文章

  1. eeplat开发平台概念理解

    近期在学习eeplat的开发.发现其中有非常多概念实在让人easy忘记,所以谨以此文记录一笔. eeplat的开发文档里说eeplat是元数据驱动的,这个元数据什么意思.在我理解就是后台的数据库里面的 ...

  2. 9.Pod控制器概念和基本操作2

    利用一个简单的例子来启动一个deployment的Pod控制器 [root@master song]# cat deploy.yml apiVersion: apps/v1 kind: Deploym ...

  3. laravel基础知识学习总结(路由、中间件、控制器)

     路由: 路由:是将信息从源地址传递到目的地得角色 Route::get('/test',function(){ });  //分号不能丢 报错信息MethodNotAllowedHttpExcept ...

  4. java web学习总结(二十九) -------------------JavaBean的两种开发模式

    SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式. 一.JSP+JavaBean开发模式 1 ...

  5. storyboard简单认识

    ## storyboard文件的认识 - 作用:描述软件界面 - 程序启动的简单过程 - 程序一启动,就会加载`Main.storyboard`文件 - 会创建箭头所指的控制器,并且显示控制器所管理的 ...

  6. Java Web的两种开发模式

    参考文献:http://www.cnblogs.com/xdp-gacl/p/3908610.html 一.Jsp+JavaBean 此模式如下图所示:

  7. javaweb学习总结(二十一)——JavaWeb的两种开发模式

    SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式. 一.JSP+JavaBean开发模式 1 ...

  8. 三层架构和MVC模式

    目录[-] 1.三层架构 2.MVC 2.1 标准的MVC(Model-View-Controller) 2.2 Web MVC 3.三层架构和MVC的区别与联系 1.三层架构 三层架构(3-tier ...

  9. javaweb的开发模式

    SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式. 一.JSP+JavaBean开发模式 1 ...

随机推荐

  1. JDK1.8中的Stream详解

    Stream简介 Stream 作为 Java 8 的一大亮点,它与 java.io 包里的 InputStream 和 OutputStream 是完全不同的概念.它也不同于 StAX 对 XML ...

  2. dom监听事件class

    layui.use(['layer', 'form'], function(){ var layer = layui.layer ,form = layui.form; var $ = layui.j ...

  3. spring cloud Bug之was unable to refresh its cache! status = Cannot execute request on any known server

    可能原因: 1.application.yml server: port: 10001spring: application: name: microservice-consumer-movieeur ...

  4. velocity(vm)模板引擎基本语法

    for循环 #foreach($acc in $!{param.tools}) #set($count = $count + 1) <li custom-data="$!{acc.or ...

  5. Android实战简易教程-第四十九枪(两种方式实现网络图片异步加载)

    加载图片属于比较耗时的工作,我们需要异步进行加载,异步加载有两种方式:1.通过AsyncTask类进行:2.通过Handler来实现,下面我们就来看一下如何通过这两种方式实现网络图片的异步加载. 一. ...

  6. 关于js事件冒泡和事件捕获

    事件捕获指的是从document到触发事件的那个节点,即自上而下的去触发事件.相反的,事件冒泡是自下而上的去触发事件.绑定事件方法的第三个参数,就是控制事件触发顺序是否为事件捕获.true,事件捕获: ...

  7. 笔试算法题(05):转换BST为双向链表 & 查找栈中的最小元素

    出题:把二元查找树转变成排序的双向链表.输入一棵二元查找树,要求将该二元查找树按照中序转换成一个排序的双向链表,要求不能创建任何新的节点,只能调整指针的指向: 分析: 递归的思路,当前节点需要进行的处 ...

  8. DHU Club Festival(数学)

    链接: http://acm.dhu.edu.cn/problem/view.html?problemId=5272 题意: 给定n瓶不同浓度的液体, 每次可以挑选x(x>=2)瓶混合, 求最后 ...

  9. Vue如何实现swiper左右滑动内容区控制导航tab同时切换高亮

    Vue如何实现左右滑动内容区控制导航tab同时切换高亮,实现的效果是:点击导航按钮时内容区发生改变,左右滑动内容区时导航按钮跟随切换高亮,停留在某个内容区时刷新页面后仍然停留在当前内容区.       ...

  10. 3D标签云

    一.圆的坐标表达式 for(var i = 0;i < len;i++){ degree = (2*(k+1)-1)/len - 1;a = Math.acos(degree);//这样取得弧度 ...