为什么80%的码农都做不了架构师?>>>   

HTML-ViewParse (注:文档没有完全跟进,还没正式公开,公开后不会用这个名字)

Controller层是提供给用户最直接的API操作,而原本打算做成单纯的插件的想法在beta版本的开发中遇到了一些问题,如果真的要做AOP开发的话,等于重写了DataManager模块,得不偿失,所以将Controller层的核心深度耦合到DataManager中,这算整个框架的开发过程中唯一的重度耦合点,因为一开始的时候框架就没有为Controller留位置。

Controller层提供了 监听类 ,如果要和Emberjs一样将每种数据对象转化成内部的set、get(defineGetterdefineSetter)来操作,我不得不说DataManager立马会进入大内存时代,而且需要重新设计数据结构并做大量冗余处理,毕竟我需要做到IE6兼容。

所以耦合点就出现在这里,我需要保持原本的原生js对象的操作,又要去判定是否是监听类实例并保持和元素对象一样的操作,为了尽量避免涟漪效应,果断采取了重写监听类的valueOf和toString函数来保证原本的构架在不需改动的情况下继续正常运作。但DataManager模块的代码没法这样,毕竟它控制的是最底层的数据,数据的分析更新都要它来做。

我不得不承认由于监听类的加入DataManager模块变得很搓,判断的量翻了有一倍多,毕竟多了一种数据类型。后期的优化应该就是把监听类的功能分离成计算类,把监听功能从set、get的切面中分离出来,整合入新的监听类中,然后再切面到计算类中,使得模块尽量独立。

这几天课程多得变态,做个TODO的笔记,免得到周六周天拿起来继续做是忘了该干什么。

PS:说道依赖监听,之前着手开发的Binder.js其实就是依赖流程的核心,自动识别错误的、循环的依赖,并做一些妥协的处理,可惜由于硬盘被自己给不小心格式化而夭折了…………现在可能要到后期做一个小插件来实现吧。

转载于:https://my.oschina.net/gaubee/blog/160245

HTML-ViewParse的Controller层插件开发小结相关推荐

  1. controller层要写什么_别再写满屏的try-catch了,真丑,全局异常处理不会吗?

    本文讲得比较细,所以篇幅较长.请认真读完,希望读完后能对统一异常处理有一个清晰的认识. 背景 软件开发过程中,不可避免的是需要处理各种异常,就我自己来说,至少有一半以上的时间都是在处理各种异常情况,所 ...

  2. Springboot中如何优雅的写好Controller层代码

    前言 优雅?看到这个词,我第一反应是什么是优雅?怎么写才算优雅?一千个读者有一千个哈姆雷特,每个人的经验.阅历不同,也许理解就不同.我对优雅的理解很简单,就是简洁有效.容易理解,别那么多套路.java ...

  3. java domain层_java框架中的controller层、dao层、domain层、service层、view层

    1.Controller层:接口层,用户访问请求时对接. Controller层负责具体的业务模块流程的控制,在此层里面要调用Serice层的接口来控制业务流程,控制的配置也同样是在Spring的配置 ...

  4. Controller 层实现

    一.实验介绍 1.1 实验内容 本节课程主要利用 Spring MVC 框架实现 Controller 层以及一些辅助类的实现. 1.2 实验知识点 Spring MVC 框架 1.3 实验环境 JD ...

  5. Spring - @ControllerAdvice + @ExceptionHandler全局处理Controller层异常(转)

    Spring - @ControllerAdvice + @ExceptionHandler全局处理Controller层异常(转) 参考文章: (1)Spring - @ControllerAdvi ...

  6. java 框架 Dao层 Mapper层 controller层 service层 model层 entity层 简介

    目录 简介 entity层 mapper层 service层 controller层 简介 SSM是sping+springMVC+mybatis集成的框架. MVC即model view contr ...

  7. Spring中Controller层、Filter层、Interceptor层全局统一异常处理

    Controller层.Filter层.Interceptor层全局统一异常处理 SpringBoot为异常处理提供了很多优秀的方法,但是像我这种新手在处理异常时还是会觉得一头包,终于我痛定思痛,总结 ...

  8. springmvc+mybatis,在mybatis逆向工程的基础上使用模板自动生成controller层代码

    在使用mybatis和srpingmvc的过程中,有一点关注了很久,就是controller层 的代码无法自动生成,于是自己研究写了个小程序,可以通过数据库表.自己定制的controller文件的模板 ...

  9. 实战SSM_O2O商铺_41【前端展示】店铺列表页面Dao+Service+Controller层的实现

    文章目录 概述 Dao层 接口 映射文件 单元测试 Service层 接口方法 单元测试 Controller层 增加 ShopListController 单元测试 Github地址 概述 在完成了 ...

最新文章

  1. 散列表查找的一个实例
  2. zcmu1157: 新年彩灯Ⅱ(二维树状数组)
  3. 消息中间件的实现方案
  4. Spring Cloud Sleuth 中id的使用
  5. Intent传递数据时,可以传递哪些类型数据
  6. dw相对路径怎么改_密云ETL怎么收费
  7. python代码斜率_在Python中准确地测量代码执行时间
  8. mysql中group_concat函数_MySQL中group_concat函数
  9. c语言中xml的解析方式,浅谈Xml的三种解析方式
  10. vue+qrcode批量生成二维码
  11. yaml使用方法_通过网络使用YAML
  12. docker容器的时间问题
  13. linux安装ms字体
  14. linux 内存强度测试软件,Linux系统性能测试工具(一)——内存带宽测试工具mbw...
  15. 小学奥数公式大全 学习奥数必备“工具”
  16. 算法 | 虚树学习笔记
  17. 正版七日杀服务器存档,如何在网吧保存steam七日杀存档 | 手游网游页游攻略大全...
  18. Leetcode 576. 出界的路径数
  19. icloud备份qq数据怎么恢复
  20. Linux——进程、任务和线程

热门文章

  1. 详解Bitmap之ARGB_8888/RGB_565/ALPHA_8/ARGB_4444
  2. 圆周率前100位记忆(房屋地点桩法)
  3. 设置SecureCRT配色和解决乱码问题
  4. 怎么给当前点击的a标签添加一个样式(跳转页面后)
  5. Java多线程开发系列之四:玩转多线程(线程的控制2)
  6. FastDFS问题汇总
  7. 畅谈程序人生暨孙鑫老师与读者交流会
  8. nginx生成自定义证书
  9. go/git设置及取消代理方法
  10. 基于 CentOS Mysql 安装与主从同步配置详解