Manual:Component:扩展或插件 zh-CN

From Learn About the Ext JavaScript Library

Jump to: navigation, search
Summary: 辨析Ext Extensions(扩展)与Plugins(插件)之间的关系。
Author: Jozef Sakalos, aka Saki (译者:Frank Cheung)
Published: 2008五月二号
Ext Version: 2.x
Languages: EnglishChinese

Contents

[hide]

  • 1 序言
  • 2 扩展与插件
  • 3 扩展
  • 4 插件
  • 5 扩展还是插件?
  • 6 总结
  • 7 延伸阅读

序言

要是在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
Retrieved from "http://extjs.com/learn/Manual:Component:Extension_or_Plugin_zh-CN"

转载于:https://www.cnblogs.com/meetrice/archive/2008/05/24/1206323.html

扩展或插件 (Extension or Plugin )相关推荐

  1. jenkins插件调用job_Jenkins迁移job插件Job Import Plugin流程详解

    Jenkins迁移job插件Job Import Plugin流程详解 由于又开了新机器所以又要重新布置Jenkins从老项目拷贝过来,发现Job Import Plugin 这个插件更新了,和以前的 ...

  2. 【Android Gradle 插件】Android Plugin DSL Reference 离线文档下载 ( GitHub 下载文档 | 查看文档 )

    文章目录 一.Android Plugin DSL Reference 文档下载 二.Android Plugin DSL Reference 文档查看 一.Android Plugin DSL Re ...

  3. 流行的jQuery信息提示插件(jQuery Tooltip Plugin)

    流行的jQuery信息提示插件(jQuery Tooltip Plugin) Learning, by 木公. 信息提示虽然是小东西,但是在网站设计中却起到了巨大的作用.如果你网站的信息提示做的好,会 ...

  4. jquery function_前端基础进阶(十三)详细图解jQuery扩展jQuery插件

    UI 鉴赏 早几年学习前端,大家都非常热衷于研究jQuery源码. 我至今还记得当初从jQuery源码中学到一星半点应用技巧的时候常会有一种发自内心的惊叹,"原来JavaScript居然可以 ...

  5. 行为扩展以及插件机制

    在thinkPHP中的行为扩展和插件机制. 首先行为扩展这个概念是TP框架的核心组成之一,关于行为的解释我就粗略的概括一下吧: TP在从接受到HTTP请求到最终将试图输出,期间经历的很多步骤,这些步骤 ...

  6. Webpack之插件html webpack plugin

    Webpack之插件html webpack plugin html-webpack-plugin插件 动态生成html文件并自动引入js文件 静态文件无需加载js或css文件,通过设置入口文件可以将 ...

  7. Notepad++没有插件管理器(Plugin Manager)的解决方法

    Notepad++没有插件管理器(Plugin Manager)的解决方法 参考文章: (1)Notepad++没有插件管理器(Plugin Manager)的解决方法 (2)https://www. ...

  8. html引入html include_PostgreSQL引入插件EXTENSION的常用方法

    前言 PostgreSQL 的一个重要功能就是支持以插件的形式引入新的功能.本文希望通过几个示例,说明如何创建并引入额外的插件. 因此,本文的主要内容包括: •基础篇:是介绍如何将一个外部的插件引入 ...

  9. jenkins html插件,Jenkins插件HTML Publisher Plugin的使用

    前提: 一.安装 安装好HTML Publisher plugin之后,会在新建或者编辑项目时,在[增加构建后操作步骤]出现[Publish HTML reports]的选项.如下: 二.配置 点击上 ...

最新文章

  1. python 单元测试setup执行了多次_python单元测试setUp与tearDown
  2. GOF对Builder模式的定义(转载)
  3. c++中组数的替代方案
  4. 2007高考:考生要根据家庭经济条件慎重填报按办学成本收费的高校及专业
  5. java Runtime类
  6. 用户界面和兼容性测试
  7. window xp系统安装php环境_在Windows XP下安装Apache+MySQL+PHP环境
  8. Session的详解与使用
  9. 项目进度管理+项目成本管理
  10. matlab:双或三方演化博弈,lotka-Volterra 1.双方演化博弈:代分析稳定点分析,代绘制相位图,matlab仿真图代码
  11. 区块链版《绝地求生》游戏—Blast Royale攻略
  12. 无线路由器在信号无法连接网络连接服务器,能搜索到wifi信号连接不上是怎么回事?...
  13. 杨氏模量(E)的处理方式对于封装翘曲的影响居然有这么大
  14. 纪念爱因斯坦提出相对论100周年,推荐好文!
  15. 区块链和大数据的关系
  16. jquery时间网格_10个最迷人的jQuery网格
  17. 仿ofo单车做一个轮播效果
  18. ybt1250 The Castle
  19. MediaPlayer与SoundPooly优劣分析
  20. android音乐播放器文章,Android论文音乐播放器文章.doc

热门文章

  1. ASP.NET实现多域名多网站共享Session值
  2. 智能工厂系统架构图_一些智能化弱电系统架构图,做方案可以用
  3. 传递function_Excel VBA解读(132): 调用Function过程的4种方式
  4. 在线内存泄露定位--memleak工具
  5. linux启动流程——initrd和initramfs
  6. System verilog随机系统函数$urandom_range使用方法
  7. dubbo调用service后返回对象null_dubbo-go 白话文 | go 和 java 互通有无
  8. feign post 传递空值_http中post和get的区别和联系
  9. 【嵌入式Linux】嵌入式Linux应用开发基础知识之网络通信
  10. 【CCS】CCS全局搜索