控制器是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. ar - 建立, 修改档案或从档案中抽取成员.

    总览 ar [-]{dmpqrtx}[abcfilNoPsSuvV] [membername] [count] archive files... 描述 GNU 组织的ar 程序 用于建立, 修改档案 ...

  2. 转:函数调用的区别:_cdecl以及_stdcall

    函数调用的几个概念:_stdcall,_cdecl.... 1._stdcall是Pascal程序的缺省调用方式,通常用于Win32 Api中,函数采用从右到左的压栈方式,自己在退出时清空堆栈.VC将 ...

  3. better-scroll的使用

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

  4. CCF计算机职业资格认证考试 201809-2 买菜

    以下内容过于幼稚,请大佬自觉绕道.. 题目描述: 时间限制:1.0s内存限制:256.0MB问题描述:问题描述 小H和小W来到了一条街上,两人分开买菜,他们买菜的过程可以描述为,去店里买一些菜然后去旁 ...

  5. myBatis查询报错 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near

    myBatis查询报错 You have an error in your SQL syntax; check the manual that corresponds to your MySQL se ...

  6. JavaScript实现AES算法加密和解密

    JavaScript的加密和解密用的是google的CryptoJS库.本文以AES/ECB/NoPadding为例展示AES加密和解密的方法. 需要下载CryptoJS库,下载地址如下:https: ...

  7. 简述FTP主动模式与被动模式

    1 FTP工作模式 2 不同模式FTP面临的问题 3 主动模式的FTP连接建立连接主要步骤 客户端打开一个随机的端口(端口号大于1024,在这里,我们称它为x),同时一个FTP进程连接至服务器的21号 ...

  8. Laravel核心解读 -- 扩展用户认证系统

    扩展用户认证系统 上一节我们介绍了Laravel Auth系统实现的一些细节知道了Laravel是如何应用看守器和用户提供器来进行用户认证的,但是针对我们自己开发的项目或多或少地我们都会需要在自带的看 ...

  9. assert.throws()函数详解

    assert.throws(block[, error][, message]) Node.js FS模块方法速查 期望 block 函数抛出一个错误. 如果指定 error,它可以是一个构造函数.正 ...

  10. layuiAdmin 项目修改

    layuiAdmin修改 index.js 修改登录url user/login=>publics/login config.js 修改 name 项目名称, tokenName token字段 ...