Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 层次结构的起源_Actionscript 3_Flash_Apache Flex_Air - Fatal编程技术网

Actionscript 3 层次结构的起源

Actionscript 3 层次结构的起源,actionscript-3,flash,apache-flex,air,Actionscript 3,Flash,Apache Flex,Air,为什么库位于com/或net/目录结构之后?这与Flash、Flex或任何语言无关。它在通用软件开发中已经使用了很长时间。我相信这是由那次事故引起的,但我不确定。之所以使用它,是因为它现在是关于如何做事的标准,并以一种相当独特的方式帮助分割项目 它通常类似于// 如果你说的是类包,重点是每个包都应该是唯一的。假设您编写了一个名为MyGreatClass的类。没有任何包或在某个简单包中test.MyGreatClass(这称为完全限定类名)。在这个项目中,您决定使用某个库,其中有人编写了另一个te

为什么库位于
com/
net/
目录结构之后?

这与Flash、Flex或任何语言无关。它在通用软件开发中已经使用了很长时间。我相信这是由那次事故引起的,但我不确定。之所以使用它,是因为它现在是关于如何做事的标准,并以一种相当独特的方式帮助分割项目


它通常类似于
//

如果你说的是类包,重点是每个包都应该是唯一的。假设您编写了一个名为
MyGreatClass
的类。没有任何包或在某个简单包中
test.MyGreatClass
(这称为完全限定类名)。在这个项目中,您决定使用某个库,其中有人编写了另一个
test.MyGreatClass
class(他/她没有意识到您还有另一个)。所以你会有两个类的冲突

为了避免这种情况,有一种惯例是以作者的站点名称的相反顺序开始类。记住每个域名都是独一无二的。遵循这个惯例,您可以确保您的类不会与其他类冲突

com
net
而言,您可以经常看到
com.example
(for)和
net.example
(for)。

OOP的优点
继承
可维护性
可重用性

类被视为对象。
拥有包结构可以实现OOP的所有优点
拥有一个标准文件夹“com”,其中包含所有自定义类,这使您可以轻松地重用这些类。

所有我没有创建的库,我都确保进入我的com文件夹。因此,当我创建一个新项目时,我只需将项目设置指向该文件夹,然后只需执行导入语句即可访问这些库。


例如,com文件夹中的AS3crypto库

这种格式/结构称为反向域名结构。此结构用于类的包命名空间


这是一篇关于好问题的好文章;我也一直想知道+1为什么所有的答案都有反对票?域名被用作软件包,因为大多数软件生产实体已经拥有一个域名。它允许他们为自己的类创建一个安全的名称空间。想象一下,如果不是这样的话:有多少人会编写一个名为“VideoPlayer”或“Button”或“SoundManager”的类。通过允许您使用域名作为包名,您可以自由使用您选择的任何命名约定,而不用担心类名与其他库发生冲突。