`
it_liuyong
  • 浏览: 100514 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用uri-style namespace编译as、flex类库

 
阅读更多
使用URI-Style Namespace编译ActionScript/Flex Library
当你开发了一个有着多个Pacakge的类库,并在MXML中使用他们时,有没有发现这样的不便:你需要为隶属于不同Package创建的组件声明各自的pacakge-style namespace,例如下图中ClassA和ClassB:

你可能需要这样引用它们:

当引用的组件类处于很多不同的Package中时,你的代码将会变得复杂和混乱。另外,如果类库的包结构发生变化,你必须要更新所有的Client代码,解决这个问题的最好办法是使用URI-Style的Namespace来编译你的类库。以下是一个Step by Step的教程:
1) 编写类库的源文件,例如上面例子中的ClassA, ClassB,分别隶属于两个不同的Package。
2)在源文件目录下创建清单文件(Manifest),清单文件用于描述Namespace URI与Classes之间的映射关系,例如下面的清单文件使用http://www.swfever.com作为URI,映射了ClassA和ClassB:

3.1) 使用清单文件和命令行参数编译Library (Compc)
在原有的命令行参数基础之上增加两个参数:
-namespace http://www.swfever.com manifest.xml
上面参数的作用是声明一个URI为http://www.swfever.com的namespace,使用manifest.xml作为清单文件
-include-namespaces http://www.swfever.com
上面参数的作用是在Library中包含http://www.swfever.com这个namespace
3.2) 如果你使用Flex Builder进行开发,那么事情就更加简单,在Library工程的Properties中打开Flex Library Complier页面,在Compiler options中填入Namespace URL并选择manifest文件即可:

4) 现在你可以使用URI-style的Namespace来引用Library中的类了:

总结一下使用URI-Style Namespace的优点:
可以使用统一的Namespace引用位于不同package甚至不同swc中的类
当package结构发生变化时,客户代码不受影响
分享到:
评论

相关推荐

    前端开源库-uri-templates

    **uri-templates** 是一种在前端开发中广泛使用的工具,特别是在构建RESTful API时,它允许开发者通过模板机制来创建和解析URI。这种技术源于**RFC6570**(Uniform Resource Identifier Template),一个互联网标准...

    uri-template-0.9.jar

    uri-template-0.9.jar

    前端开源库-uri-util

    **uri-util** 是一个专为前端开发者设计的开源库,主要功能是处理和操作URI(统一资源标识符)。在浏览器和服务器环境中,处理URI是非常常见的需求,比如构建、解析、编码或解码URL,以及进行URL查询参数的操作。uri...

    perl-URI-1.73-3.el8.noarch.rpm

    官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装

    uri-path:将相对文件系统路径转换为安全URI路径

    尿路 将相对文件系统路径转换为安全URI路径安装npm install --save uri-path用法var URIpath = require ( 'uri-path' ) ;// Properly encode URI path segmentsURIpath ( '../abc/@#$%¨&()[]{}-_=+ß/môòñ 月 ق...

    Python库 | django_uri-1.0.2-py2.7.egg

    在Python 2.7环境中安装`django_uri-1.0.2-py2.7.egg`,可以使用Python的`easy_install`或者`pip`工具,例如: ``` easy_install django_uri-1.0.2-py2.7.egg # 或者 pip install django_uri-1.0.2-py2.7.egg ``` 请...

    perl-URI-1.60-9.el7.noarch.rpm

    离线安装包,亲测可用

    Android代码-uri-differ

    uri-differ-lib 1.3.0 Add some code: Get changes: UriDiff changes = UriDiffer.diff() .expected("http://ya.ru").actual("http://yandex.ru").changes(); Print them: String report = changes.report(); ...

    uri-schemes-1.x-源码.rar

    本文将深入探讨"uri-schemes-1.x-源码"这一项目,揭示其背后的编程原理和技术细节。 首先,URI schemes通常由一个或多个字母组成,比如"http"、"ftp"和"mailto"等,它们定义了如何处理URI。在"uri-schemes-1.x-源码...

    PyPI 官网下载 | auri-1.3.1.tar.gz

    标题中的"PyPI 官网下载 | auri-1.3.1.tar.gz"表明这是一个在Python Package Index(PyPI)上发布的软件包,名为"Auri",版本为1.3.1,其分发形式是tar.gz压缩文件。PyPI是Python开发者发布自己软件包的官方平台,...

    gst-rtsp-server编译测试20151105 0949

    gst-rtsp-server编译测试 分类: 流媒体 Linux c/c++ 2013-01-24 19:28 2550人阅读 评论(1) 收藏 举报 gst-rtsp gstreamer v4l2 最近在做全志A80平台的4K相机(RK3688的八核处理器只能够支持2K相机),调好之后就...

    VSoft.Uri-master_SimpleUriParser_

    "VSoft.Uri-master_SimpleUriParser_"这个项目是针对URI解析的一个简单实现,主要关注于如何有效地理解和处理URI字符串。在软件开发中,特别是在网络编程领域,正确解析URI对于应用程序的正确运行至关重要。 `...

    css-img-datauri-stream:css-img-datauri-stream

    CSS本地图像参考->数据URI转换接受文件... #用法css-img-datauri-stream(文件[,选择]) file - CSS文件转换opts -可选对象,其“maxImageSize”成员指定一个字节大小超过该局部图像的引用将不被转换到数据的URI。

    Python库 | python_datauri-0.2.7-py2.py3-none-any.whl

    6. **安装与使用**:通过pip可以轻松安装此库,命令为`pip install python_datauri-0.2.7-py2.py3-none-any.whl`。一旦安装,只需导入并调用其提供的函数即可开始使用。 7. **API文档**:对于更深入的使用,开发者...

    PyPI 官网下载 | django_uri-1.0.2-py2.7.egg

    资源来自pypi官网。 资源全名:django_uri-1.0.2-py2.7.egg

    前端开源库-solid-namespace

    使用"Solid-namespace"库,开发者可以方便地引入和使用这些预定义的命名空间,无需每次手动编写完整的URI。例如,如果要使用DC的"creator"属性,只需引用库中的对应别名,而不是写完整个URI ...

    Python库 | aws_s3_url2uri-0.1.2-py3-none-any.whl

    资源分类:Python库 所属语言:Python 使用前提:需要解压 资源全名:aws_s3_url2uri-0.1.2-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    uri-interfaces:League URI接口

    $ composer require league/uri-interfaces 文献资料 联赛\ Uri \ Contract \ UriInterface UriInterface接口对指定的通用URI进行建模。 该接口提供了与各种URI部分进行交互的方法,从而避免了重复解析URI的需要。 ...

Global site tag (gtag.js) - Google Analytics