扩展或插件 (Extension or Plugin )
Manual:Component:扩展或插件 zh-CN
From Learn About the Ext JavaScript Library
Summary: 辨析Ext Extensions(扩展)与Plugins(插件)之间的关系。 |
Author: Jozef Sakalos, aka Saki (译者:Frank Cheung) |
Published: 2008五月二号 |
Ext Version: 2.x |
Languages: ![]() ![]() |
Contents[hide]
|
序言
要是在Ext框架中没有相应的功能,我想许多用户都会自己写一套程序去实现。有一些功能是根据他们的程序而开发的,有些则是通用的,这样其他用户可能就会对此感兴趣。
嗯~我们有了想法了,是需要写一写新的代码,相关的步骤我也懂得,可能面临一个问题,究竟是写扩展(Extension)还是写插件(Plugin)呢?
扩展与插件
我们把两样东西放在一起讨论,可以明确它们之间是有某种很相似的地方。相似的地方在于,它们都是对现有的库的功能进行 修改 或加入新的功能。
扩展与插件均不能独立使用;它们须依赖组件、类运行。
扩展
扩展(extension)在Ext中就是指衍生的子类。假设我们已经有一个附有一些方法的基类,现在欲加入新方法。我们可以框架的继承特性和JavaScript创建新类的语言特性组合新的一个类,包含基类的方法和加入的新方法。
我们这里进行Ext类的扩展。 首先执行函数Ext.extend
返回一个新的类,这个类的名称就是新的变量名。 像下例:
MyExtension = Ext.Ext., ;
接着,我们需要实例化对象:
myExtension = MyExtension;
插件
插件不需要从任何Ext类为基础。尽管插件很多时候从Ext.util.Observable
哪里扩展,但这不是必须的; 插件其实是可以很灵活的。如果这个插件是为某个组件服务的,就当然没有必要从现有的Ext类:panel,form,grid...写起。
举一个例子,说明如何创建插件:
MyPlugin = ;
然后这样子使用:
myPanel = Ext.plugins: MyPlugin,
;
扩展还是插件?
这要看... 无论写扩展还是写插件都可以达到相同的效果。有的程序员就喜欢写插件,有的喜欢写扩展。总得来说,小一点的功能写成插件,复杂一点的可以写成扩展。插件可以轻松地从组件上移除,扩展就和程序联系很紧密。
总结
- 一个扩展就是一个新名字出现的一个新类,它是以某个基类为基础,属于类库中的一员。扩展必须好像其他类那样实例化般地使用。
- 插件会把插入到现有的某个类之中,可灵活地移除,它可以在类库中定义,然后伴随某个类实例化的时候参与运作。
延伸阅读
- 这是译者的UI blog。
- Extending an Ext Class
- Writing an Ext Plugin
转载于:https://www.cnblogs.com/meetrice/archive/2008/05/24/1206323.html
扩展或插件 (Extension or Plugin )相关推荐
- jenkins插件调用job_Jenkins迁移job插件Job Import Plugin流程详解
Jenkins迁移job插件Job Import Plugin流程详解 由于又开了新机器所以又要重新布置Jenkins从老项目拷贝过来,发现Job Import Plugin 这个插件更新了,和以前的 ...
- 【Android Gradle 插件】Android Plugin DSL Reference 离线文档下载 ( GitHub 下载文档 | 查看文档 )
文章目录 一.Android Plugin DSL Reference 文档下载 二.Android Plugin DSL Reference 文档查看 一.Android Plugin DSL Re ...
- 流行的jQuery信息提示插件(jQuery Tooltip Plugin)
流行的jQuery信息提示插件(jQuery Tooltip Plugin) Learning, by 木公. 信息提示虽然是小东西,但是在网站设计中却起到了巨大的作用.如果你网站的信息提示做的好,会 ...
- jquery function_前端基础进阶(十三)详细图解jQuery扩展jQuery插件
UI 鉴赏 早几年学习前端,大家都非常热衷于研究jQuery源码. 我至今还记得当初从jQuery源码中学到一星半点应用技巧的时候常会有一种发自内心的惊叹,"原来JavaScript居然可以 ...
- 行为扩展以及插件机制
在thinkPHP中的行为扩展和插件机制. 首先行为扩展这个概念是TP框架的核心组成之一,关于行为的解释我就粗略的概括一下吧: TP在从接受到HTTP请求到最终将试图输出,期间经历的很多步骤,这些步骤 ...
- Webpack之插件html webpack plugin
Webpack之插件html webpack plugin html-webpack-plugin插件 动态生成html文件并自动引入js文件 静态文件无需加载js或css文件,通过设置入口文件可以将 ...
- Notepad++没有插件管理器(Plugin Manager)的解决方法
Notepad++没有插件管理器(Plugin Manager)的解决方法 参考文章: (1)Notepad++没有插件管理器(Plugin Manager)的解决方法 (2)https://www. ...
- html引入html include_PostgreSQL引入插件EXTENSION的常用方法
前言 PostgreSQL 的一个重要功能就是支持以插件的形式引入新的功能.本文希望通过几个示例,说明如何创建并引入额外的插件. 因此,本文的主要内容包括: •基础篇:是介绍如何将一个外部的插件引入 ...
- jenkins html插件,Jenkins插件HTML Publisher Plugin的使用
前提: 一.安装 安装好HTML Publisher plugin之后,会在新建或者编辑项目时,在[增加构建后操作步骤]出现[Publish HTML reports]的选项.如下: 二.配置 点击上 ...
最新文章
- python 单元测试setup执行了多次_python单元测试setUp与tearDown
- GOF对Builder模式的定义(转载)
- c++中组数的替代方案
- 2007高考:考生要根据家庭经济条件慎重填报按办学成本收费的高校及专业
- java Runtime类
- 用户界面和兼容性测试
- window xp系统安装php环境_在Windows XP下安装Apache+MySQL+PHP环境
- Session的详解与使用
- 项目进度管理+项目成本管理
- matlab:双或三方演化博弈,lotka-Volterra 1.双方演化博弈:代分析稳定点分析,代绘制相位图,matlab仿真图代码
- 区块链版《绝地求生》游戏—Blast Royale攻略
- 无线路由器在信号无法连接网络连接服务器,能搜索到wifi信号连接不上是怎么回事?...
- 杨氏模量(E)的处理方式对于封装翘曲的影响居然有这么大
- 纪念爱因斯坦提出相对论100周年,推荐好文!
- 区块链和大数据的关系
- jquery时间网格_10个最迷人的jQuery网格
- 仿ofo单车做一个轮播效果
- ybt1250 The Castle
- MediaPlayer与SoundPooly优劣分析
- android音乐播放器文章,Android论文音乐播放器文章.doc
热门文章
- ASP.NET实现多域名多网站共享Session值
- 智能工厂系统架构图_一些智能化弱电系统架构图,做方案可以用
- 传递function_Excel VBA解读(132): 调用Function过程的4种方式
- 在线内存泄露定位--memleak工具
- linux启动流程——initrd和initramfs
- System verilog随机系统函数$urandom_range使用方法
- dubbo调用service后返回对象null_dubbo-go 白话文 | go 和 java 互通有无
- feign post 传递空值_http中post和get的区别和联系
- 【嵌入式Linux】嵌入式Linux应用开发基础知识之网络通信
- 【CCS】CCS全局搜索