Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.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
传递XML对象与填充结构_Xml_Flash_Actionscript 3 - Fatal编程技术网

传递XML对象与填充结构

传递XML对象与填充结构,xml,flash,actionscript-3,Xml,Flash,Actionscript 3,ActionScript3.0具有良好的原生XML支持,因此我并不惊讶于看到许多人加载外部XML,然后将对象传递给各个模块/代码段 然而,我的直觉是创建一个类(即,使用静态命名/类型化字段),从XML填充它,并传递它。优点是将结构与消息/数据格式分离,但是您确实会失去XML提供的可搜索性,如果您有很多嵌套结构,我可以看出转换它可能需要大量的初始处理时间 那么这里的最佳实践是什么?对于非常小的项目/用例,我仍然只使用XML,但当它变得更大时,或者我有远见时,我倾向于走类路线。我倾向于创建“read

ActionScript3.0具有良好的原生XML支持,因此我并不惊讶于看到许多人加载外部XML,然后将对象传递给各个模块/代码段

然而,我的直觉是创建一个类(即,使用静态命名/类型化字段),从XML填充它,并传递它。优点是将结构与消息/数据格式分离,但是您确实会失去XML提供的可搜索性,如果您有很多嵌套结构,我可以看出转换它可能需要大量的初始处理时间


那么这里的最佳实践是什么?对于非常小的项目/用例,我仍然只使用XML,但当它变得更大时,或者我有远见时,我倾向于走类路线。

我倾向于创建“reader”类,加载数据并将其存储在自己的XML对象中。然后,我将所需的任何数据作为本机类型从XML传递给其他对象。

我倾向于创建“reader”类,这些类加载数据并将其存储在自己的XML对象中。然后,我将所需的任何数据作为本机类型从XML传递到其他对象。

我要说的是,由于XML对象没有静态结构,它为错误进入系统提供了很大的可能性,并且使代码的可读性和可理解性大大降低

所以我想说,是的,一个类是一条路要走,这是额外的努力,但你的系统是更结构化的,因为它

我过去曾尝试过将类包装在XML对象周围,但这会使这些类中的代码看起来非常混乱

我目前正在尝试使用我编写的XMLObjectBinder类(纯actionscript项目而非Flex)将XML对象绑定到对象,因为我发现这种方法最干净,因为XML已经不存在了。因此,我的类现在更干净了,因为它们内部缺少XML,绑定通常是来自工厂的一行调用


在可搜索性方面,我同意您会失去这一点,但我要说的是,工厂模式与一些XML到对象绑定相结合将消除许多这些问题。

我要说,由于XML对象没有静态结构,它为错误进入系统提供了很大的可能性,并且使代码更少易读易懂

所以我想说,是的,一个类是一条路要走,这是额外的努力,但你的系统是更结构化的,因为它

我过去曾尝试过将类包装在XML对象周围,但这会使这些类中的代码看起来非常混乱

我目前正在尝试使用我编写的XMLObjectBinder类(纯actionscript项目而非Flex)将XML对象绑定到对象,因为我发现这种方法最干净,因为XML已经不存在了。因此,我的类现在更干净了,因为它们内部缺少XML,绑定通常是来自工厂的一行调用


在可搜索性方面,我同意你会失去这一点,但我要说的是,工厂模式与一些XML到对象绑定相结合将消除许多这些问题。

我不能与ActionScript交谈,但我认为我在VB6和C中的经验可能与此相关:

XML消息格式会发生变化。当它们这样做时,与消息格式紧密耦合的代码就会中断。如果可以将与XML互操作的所有代码保存在一个地方,那么就可以控制消息格式更改对应用程序造成的损害。从XML构建对象,然后在代码中使用这些对象,可以使大多数代码与消息格式的更改保持隔离


很多应用程序都没有太大的风险,例如,将代码的逻辑结构与XML的结构耦合起来是可以的,因为XML反映了应用程序域的逻辑结构。因此,在决定采用哪种方法时,您必须做出一些判断。

我不能与ActionScript对话,但我认为我在VB6和C中的经验可能与此相关:

XML消息格式会发生变化。当它们这样做时,与消息格式紧密耦合的代码就会中断。如果可以将与XML互操作的所有代码保存在一个地方,那么就可以控制消息格式更改对应用程序造成的损害。从XML构建对象,然后在代码中使用这些对象,可以使大多数代码与消息格式的更改保持隔离


很多应用程序都没有太大的风险,例如,将代码的逻辑结构与XML的结构耦合起来是可以的,因为XML反映了应用程序域的逻辑结构。因此,在决定采用哪种方法时,您必须进行一些判断。

最后,我首选的解决方案是从数据填充类,但在需要搜索能力时,在某个地方保留对XML的引用。

最后,我的首选解决方案是从数据中填充类,但在需要可搜索性时,在某个地方保留对XML的引用。

因此,不是结构,而是XML对象上的外观?听起来似乎是两全其美,我非常喜欢这个解决方案,特别是在像as3这样的语言中,使用get/set访问器。那么,是不是用结构,而只是xml对象上的外观?听起来是两全其美,我非常喜欢这个解决方案,特别是在像as3这样带有get/set访问器的语言中