WEB开发网
开发学院WEB开发Xml 模式作用域:初级读本和最佳实践 阅读

模式作用域:初级读本和最佳实践

 2010-10-22 17:18:49 来源:WEB开发网   
核心提示: 如果您想要高度的重用,还想最大可能地隐藏名称空间,模式作用域:初级读本和最佳实践(10),那么请使用 Venetian blinds 风格,然后可以使用 elementFormDefault 作为一个切换开关,最终,这将提升您的能力,来要求暴露或隐藏元素,此外

如果您想要高度的重用,还想最大可能地隐藏名称空间,那么请使用 Venetian blinds 风格。然后可以使用 elementFormDefault 作为一个切换开关,来要求暴露或隐藏元素。

此外,不要害怕混用。在特定的模式中使用多种模式设计范式是高度有益的。对于您希望保持为私有和隐藏的结构部分,使用 Russian doll 风格。同时,您也可能想要使用 Salami slice 或 Garden of Eden 设计全局地暴露一些元素。例如,清单 13 使用了高度暴露的 Garden of Eden 风格和隐藏的 Russian doll 风格:

清单 13. 混用范式

<xs:schema> 
 <!-- Garden of Eden style component  --> 
 <xs:element name="Title" type="xs:string"/>   
 <xs:element name="Body" type="xs:string"/> 
 <xs:element name="Section" type="section.type"/> 
 <xs:element name="HelpDocs" type="helpdocs.type"> 
  
 <xs:complexType name="section.type"> 
  <xs:sequence>   
  <xs:element ref="Title"/>   
  <xs:element ref="Body"/> 
  </xs:sequence> 
  
  <xs:attribute name="name"/> 
 </xs:complexType> 
  
 <xs:complexType name="helpdocs.type"> 
  <xs:sequence>   
  <xs:element ref="Section"/> 
  <!--  Russian doll style component  --> 
  <xs:element ref="Credits"> 
   <xs:complexType> 
   <xs:sequence>   
    <xs:element name="Author" type="xs:string"/>   
    <xs:element name="Year" type="xs:string"/> 
   </xs:sequence> 
   </xs:complexType> 
  </xs:element> 
  </xs:sequence> 
 <xs:complexType>    
</xs:schema> 

在此场景中,也许您需要暴露 HelpDocs、Section、Title 和 Body 元素,以便其他模式使用。但是,您想要隐藏 Credits 元素,以防止它与其他模式定义耦合。

如果重用的需求不是十分迫切,那么用这种方式编写模式是完全合理的。通过让元素成为全局的,很容易增加暴露。后面去掉暴露将会很困难。在这种情况下,如果未来设计需要更多的暴露,您可以很容易增加。

结束语

在开始任何模式项目之前,您必须做出符合自己目标的设计选择。通过理解模式作用域的使用,可以流水线化管理模式和内容的过程。最终,这将提升您的能力,来管理模式生命周期和让您的模式高效地与其他系统交互。

上一页  5 6 7 8 9 10 

Tags:模式 作用 初级

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接