HTML-ViewParse的Controller层插件开发小结
为什么80%的码农都做不了架构师?>>>
HTML-ViewParse (注:文档没有完全跟进,还没正式公开,公开后不会用这个名字)
Controller层是提供给用户最直接的API操作,而原本打算做成单纯的插件的想法在beta版本的开发中遇到了一些问题,如果真的要做AOP开发的话,等于重写了DataManager模块,得不偿失,所以将Controller层的核心深度耦合到DataManager中,这算整个框架的开发过程中唯一的重度耦合点,因为一开始的时候框架就没有为Controller留位置。
Controller层提供了 监听类 ,如果要和Emberjs一样将每种数据对象转化成内部的set、get(defineGetter、defineSetter)来操作,我不得不说DataManager立马会进入大内存时代,而且需要重新设计数据结构并做大量冗余处理,毕竟我需要做到IE6兼容。
所以耦合点就出现在这里,我需要保持原本的原生js对象的操作,又要去判定是否是监听类实例并保持和元素对象一样的操作,为了尽量避免涟漪效应,果断采取了重写监听类的valueOf和toString函数来保证原本的构架在不需改动的情况下继续正常运作。但DataManager模块的代码没法这样,毕竟它控制的是最底层的数据,数据的分析更新都要它来做。
我不得不承认由于监听类的加入DataManager模块变得很搓,判断的量翻了有一倍多,毕竟多了一种数据类型。后期的优化应该就是把监听类的功能分离成计算类,把监听功能从set、get的切面中分离出来,整合入新的监听类中,然后再切面到计算类中,使得模块尽量独立。
这几天课程多得变态,做个TODO的笔记,免得到周六周天拿起来继续做是忘了该干什么。
PS:说道依赖监听,之前着手开发的Binder.js其实就是依赖流程的核心,自动识别错误的、循环的依赖,并做一些妥协的处理,可惜由于硬盘被自己给不小心格式化而夭折了…………现在可能要到后期做一个小插件来实现吧。
转载于:https://my.oschina.net/gaubee/blog/160245
HTML-ViewParse的Controller层插件开发小结相关推荐
- controller层要写什么_别再写满屏的try-catch了,真丑,全局异常处理不会吗?
本文讲得比较细,所以篇幅较长.请认真读完,希望读完后能对统一异常处理有一个清晰的认识. 背景 软件开发过程中,不可避免的是需要处理各种异常,就我自己来说,至少有一半以上的时间都是在处理各种异常情况,所 ...
- Springboot中如何优雅的写好Controller层代码
前言 优雅?看到这个词,我第一反应是什么是优雅?怎么写才算优雅?一千个读者有一千个哈姆雷特,每个人的经验.阅历不同,也许理解就不同.我对优雅的理解很简单,就是简洁有效.容易理解,别那么多套路.java ...
- java domain层_java框架中的controller层、dao层、domain层、service层、view层
1.Controller层:接口层,用户访问请求时对接. Controller层负责具体的业务模块流程的控制,在此层里面要调用Serice层的接口来控制业务流程,控制的配置也同样是在Spring的配置 ...
- Controller 层实现
一.实验介绍 1.1 实验内容 本节课程主要利用 Spring MVC 框架实现 Controller 层以及一些辅助类的实现. 1.2 实验知识点 Spring MVC 框架 1.3 实验环境 JD ...
- Spring - @ControllerAdvice + @ExceptionHandler全局处理Controller层异常(转)
Spring - @ControllerAdvice + @ExceptionHandler全局处理Controller层异常(转) 参考文章: (1)Spring - @ControllerAdvi ...
- java 框架 Dao层 Mapper层 controller层 service层 model层 entity层 简介
目录 简介 entity层 mapper层 service层 controller层 简介 SSM是sping+springMVC+mybatis集成的框架. MVC即model view contr ...
- Spring中Controller层、Filter层、Interceptor层全局统一异常处理
Controller层.Filter层.Interceptor层全局统一异常处理 SpringBoot为异常处理提供了很多优秀的方法,但是像我这种新手在处理异常时还是会觉得一头包,终于我痛定思痛,总结 ...
- springmvc+mybatis,在mybatis逆向工程的基础上使用模板自动生成controller层代码
在使用mybatis和srpingmvc的过程中,有一点关注了很久,就是controller层 的代码无法自动生成,于是自己研究写了个小程序,可以通过数据库表.自己定制的controller文件的模板 ...
- 实战SSM_O2O商铺_41【前端展示】店铺列表页面Dao+Service+Controller层的实现
文章目录 概述 Dao层 接口 映射文件 单元测试 Service层 接口方法 单元测试 Controller层 增加 ShopListController 单元测试 Github地址 概述 在完成了 ...
最新文章
- 散列表查找的一个实例
- zcmu1157: 新年彩灯Ⅱ(二维树状数组)
- 消息中间件的实现方案
- Spring Cloud Sleuth 中id的使用
- Intent传递数据时,可以传递哪些类型数据
- dw相对路径怎么改_密云ETL怎么收费
- python代码斜率_在Python中准确地测量代码执行时间
- mysql中group_concat函数_MySQL中group_concat函数
- c语言中xml的解析方式,浅谈Xml的三种解析方式
- vue+qrcode批量生成二维码
- yaml使用方法_通过网络使用YAML
- docker容器的时间问题
- linux安装ms字体
- linux 内存强度测试软件,Linux系统性能测试工具(一)——内存带宽测试工具mbw...
- 小学奥数公式大全 学习奥数必备“工具”
- 算法 | 虚树学习笔记
- 正版七日杀服务器存档,如何在网吧保存steam七日杀存档 | 手游网游页游攻略大全...
- Leetcode 576. 出界的路径数
- icloud备份qq数据怎么恢复
- Linux——进程、任务和线程