控制器是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. JVM参数说明介绍

    1.JVM运行时数据区内存参数说明 2.JVM垃圾收集器参数总结 原文:https://blog.csdn.net/bluuusea/article/details/90697340 ======== ...

  2. 如何修改MFC的图标

    原文:如何修改MFC的图标 修改左上角的图标和任务栏里图标 在对话框构造函数中 CTestDlg::CTestDlg(CWnd* pParent /*=NULL*/) : CDialog(CTestD ...

  3. iOS网络图片缓存SDWebImage

    Web image(网络图像) 该库提供了一个支持来自Web的远程图像的UIImageView类别 它提供了: 添加网络图像和缓存管理到Cocoa Touch framework的UIImageVie ...

  4. better-scroll的使用

    <template> <div> <div> <h2 class="h2">{{msg}}</h2> </div& ...

  5. 【简●解】POJ 1845 【Sumdiv】

    POJ 1845 [Sumdiv] [题目大意] 给定\(A\)和\(B\),求\(A^B\)的所有约数之和,对\(9901\)取模. (对于全部数据,\(0<= A <= B <= ...

  6. php与mysql事物处理

    PHP与MYSQL事务处理 mysql事物特性 (原子性,一致性,隔离性,持久性) /*MYSQL的事务处理主要有两种方法.1.用begin,rollback,commit来实现begin 开始一个事 ...

  7. rownum导致sql不能进行谓词推入

    背景 案件(13405_RI-再保结算查询导出太慢),造成性能慢的原因是执行以下sql时,每次执行平均需要消耗2秒, 画面上,点击一次导出按钮,就会发起数以百记的调用. SQL执行代码段 select ...

  8. eclipse 导入svn项目并添加server

    1.打开svn资源库 window-->show view-->other-->svn-->svn资源库 2.控制台选中文件夹右键-->检出为--finish 3.添加服 ...

  9. Python数据结构--链表

    class Node(): def __init__(self, dataval=None): self.dataval = dataval self.nextval = None class SLi ...

  10. Fiddler抓取https相关设置

    转自:https://www.cnblogs.com/joshua317/p/8670923.html 很多使用fiddler抓包,对于http来说不需太多纠结,随便设置下就能用,但是抓取https就 ...