首页 > 知识库 > 正文

详解引擎技术之约定式编程的实现理念(1)
2016-02-20 19:33:35   来源: 曲毅 51CTO.com    评论:0 点击:

在前端世界里,我们经常会听说某某引擎,某某框架,那么到底什么样子的东西可以称之为引擎呢?如果我们自己希望编写引擎应该如何做呢?在编写引擎的时候,我们至少需要注意哪些方面呢?引擎技术到底能给我们带来什么呢?

三、如何抽取出适用我们的引擎?

对核心引用的库抽取,对逻辑控制抽取,对展现抽取,对业务进行抽取。

四、我们如果要编写引擎,至少要完成哪些功能?(能称之为引擎至少要具备的条件)

虽然没有明文规定做一个引擎到底需要多少东西,但是这里我给出一个参考方案。如果一个引擎可以提供给别人使用,至少需要有以下处理机制,或者说设计好以下处理机制,可以把自己写的库很好的给其他人使用。

代码约定模式,交互抽离模式,数据封装模式,加密混淆机制,工具类包,插件管理模块,加载器,拦截器,动画处理模块,缓存控制器,超时监听器,模版控制引擎,性能处理模块(懒加载,按需加载,加速器),业务逻辑控制工厂,操作日志管理。

当然根据不同的项目还有很多特殊的模块,例如做客户端涉及到解压缩这样的,可以设计一个请求代理模块。

对外还要提供一个给开发人员配置或者编写的API层。当然还需要一个尽可能完整的使用说明。

五、什么是约定式编程?它和引擎技术有什么关系?

我们在编程的时候,如果尽可能的减少代码量,最直观的方式就是约定了。例如spring种就有约定模式的影子。所以在设计Crow5的时候,我大量的采用了约定的模式。

简单的描述,如果页面叫index.html,那么控制器的调用可以叫UI.index。那么,页面请求的接口可以约定成romote_index。调用的模版名字可以叫做index_tpl。如果是ajax处理的事件绑定函数可以约定成 ___index 等等。所有的处理逻辑入口和调用的名字都是可以约定的。如果有了这个约定的方式,那么所有类似的编码就有了规则,这样就可以抽象成规则引擎。那么以后我们只需要传输参数,配置。代码就按照规则自动生成了。

\

上面的页面都是用引擎自动生成的,我们可以看一下代码。

\

编写的代码就是配置文件,其余所有代码由引擎自动搞定。所有的性能处理都可以配置。这样最大的减少重复编码。

六、你对引擎技术的研究后续会是什么样子?

对于未来继续研究的是语义方面的抽取,所有引擎的代码部分是可以通过云平台自动实现按需分配,生成项目的引擎核心。根据平台的配置自动实现配置文件的自动生成。这样在做APP或者demo的时候,可以实现自动生成。

探索无止境,需要很多灵感,很多设计灵感就是从动物身上得到的,例如在设计心跳保持技术的时候,就是观察青蛙冬眠这个事情上,抽取总结心跳加速,减速,停止,苏醒等。希望能把引擎技术继续往语义方向上突破,可能那个时候的编程就变成了问答。

【编辑推荐】

  1. 在Ubuntu 14.10 Server上安装Jetty 9(Java服务引擎和Web服务器)
  2. Windows 10浏览器采用新渲染引擎
  3. Sphinx:高性能SQL全文检索引擎
  4. Unity游戏引擎登录Linux平台
  5. 百度将替换必应成Windows 10浏览器默认首页和搜索引擎
【责任编辑:火凤凰 TEL:(010)68476606】

相关热词搜索:理念 约定式编程 引擎

上一篇:新浪微博王传鹏:微博推荐架构的演进(1)
下一篇:【专题】如何应对运维工作的几大挑战?

分享到: 收藏