fbpx
维基百科

面向特性编程

面向特性编程@OP)是一种程序层面的标记技术。编程者可以给程序元素(例如类和方法)标记上特性(attribute),来指示它们包含特定于应用或特定于领域的语义。

简介 编辑

特性将一个应用的核心逻辑(或业务逻辑)同特定于应用或特定于领域的语义(比如日志和网页服务功能)分离开来。

例如,一些编程者可以定义“logging”特性并把它关联于一个方法,来指示这个方法应当实现一个日志功能,而其他编程者可以定义一个“web service”特性并把它关联于一个类,来指示这个类应当实现为一个网页服务。通过在程序代码中隐藏这些语义的实现细节,特性增加了编程抽象层次并减少了编程复杂性,导致了更简单和更可读的程序。

关联了特性的程序元素由支持工具(比如预处理器)转化成更详细的程序。例如,一个预处理可以向关联了“logging”特性的方法插入一个日志程序。

各种语言中的面向特性编程 编辑

Java 编辑

随着J2SE 5.0发行包含了“Metadata Facility for Java”(JSR-175),可以即时采用面向特性编程,这项技术后来发展为Java注解XDoclet英语XDoclet库使得更早版本的Java也可以采用面向特性编程。

C# 编辑

C#语言从最早期发行就支持特性。但是这些特性被用于得到运行时间信息,而不被预处理器所使用(在C#参考实现中一个都没有)。

UML 编辑

统一建模语言(UML)支持叫作stereotype英语stereotype (UML)的一种特性。

Hack 编辑

Hack编程语言支持特性。特性可以附加到各种程序实体上,关于这些特性的信息可以通过反射来实时检索。

工具 编辑

  • Annotation Processing Tool (apt) (页面存档备份,存于互联网档案馆
  • Spoon (页面存档备份,存于互联网档案馆), an Annotation-Driven Java Program Transformer
  • , a Javadoc-Driven Program Generator

引用 编辑

  • . An Introduction to Attribute-Oriented Programming. [July 22, 2005]. (原始内容存档于May 26, 2005). 
  • Wada, Hiroshi; Suzuki, Junichi. (PDF). In Proc. of the 8th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems (MoDELS/UML 2005). 2005 [2006-03-21]. (原始内容 (PDF)存档于2016-03-03). 
  • Rouvoy, Romain; Merle, Philippe. (PDF). In Proc. of the 11th ECOOP International Workshop on Component-Oriented Programming (WCOP 2006). 2006. (原始内容 (PDF)存档于2006-12-23). 

外部链接 编辑

  • Don Schwarz. Peeking Inside the Box: Attribute-Oriented Programming with Java5 (页面存档备份,存于互联网档案馆
  • Sun JSR 175 (页面存档备份,存于互联网档案馆
  • Attributes and Reflection (页面存档备份,存于互联网档案馆) - sample chapter from Programming C# (页面存档备份,存于互联网档案馆) book
  • Fraclet (页面存档备份,存于互联网档案馆): An annotation-based programming model for the Fractal (页面存档备份,存于互联网档案馆) component model
  • Attribute Enabled Software Development book

面向特性编程, 是一种程序层面的标记技术, 编程者可以给程序元素, 例如类和方法, 标记上特性, attribute, 来指示它们包含特定于应用或特定于领域的语义, 目录, 简介, 各种语言中的, java, hack, 工具, 引用, 外部链接简介, 编辑特性将一个应用的核心逻辑, 或业务逻辑, 同特定于应用或特定于领域的语义, 比如日志和网页服务功能, 分离开来, 例如, 一些编程者可以定义, logging, 特性并把它关联于一个方法, 来指示这个方法应当实现一个日志功能, 而其他编程者可以定义一个, ser. 面向特性编程 OP 是一种程序层面的标记技术 编程者可以给程序元素 例如类和方法 标记上特性 attribute 来指示它们包含特定于应用或特定于领域的语义 目录 1 简介 2 各种语言中的面向特性编程 2 1 Java 2 2 C 2 3 UML 2 4 Hack 3 工具 4 引用 5 外部链接简介 编辑特性将一个应用的核心逻辑 或业务逻辑 同特定于应用或特定于领域的语义 比如日志和网页服务功能 分离开来 例如 一些编程者可以定义 logging 特性并把它关联于一个方法 来指示这个方法应当实现一个日志功能 而其他编程者可以定义一个 web service 特性并把它关联于一个类 来指示这个类应当实现为一个网页服务 通过在程序代码中隐藏这些语义的实现细节 特性增加了编程抽象层次并减少了编程复杂性 导致了更简单和更可读的程序 关联了特性的程序元素由支持工具 比如预处理器 转化成更详细的程序 例如 一个预处理可以向关联了 logging 特性的方法插入一个日志程序 各种语言中的面向特性编程 编辑Java 编辑 随着J2SE 5 0发行包含了 Metadata Facility for Java JSR 175 可以即时采用面向特性编程 这项技术后来发展为Java注解 XDoclet 英语 XDoclet 库使得更早版本的Java也可以采用面向特性编程 C 编辑 C 语言从最早期发行就支持特性 但是这些特性被用于得到运行时间信息 而不被预处理器所使用 在C 参考实现中一个都没有 UML 编辑 统一建模语言 UML 支持叫作stereotype 英语 stereotype UML 的一种特性 Hack 编辑 Hack编程语言支持特性 特性可以附加到各种程序实体上 关于这些特性的信息可以通过反射来实时检索 工具 编辑Annotation Processing Tool apt 页面存档备份 存于互联网档案馆 Spoon 页面存档备份 存于互联网档案馆 an Annotation Driven Java Program Transformer XDoclet a Javadoc Driven Program Generator引用 编辑Attribute Oriented Programming An Introduction to Attribute Oriented Programming July 22 2005 原始内容存档于May 26 2005 Wada Hiroshi Suzuki Junichi Modeling Turnpike Frontend System a Model Driven Development Framework Leveraging UML Metamodeling and Attribute Oriented Programming PDF In Proc of the 8th ACM IEEE International Conference on Model Driven Engineering Languages and Systems MoDELS UML 2005 2005 2006 03 21 原始内容 PDF 存档于2016 03 03 Rouvoy Romain Merle Philippe Leveraging Component Oriented Programming with Attribute Oriented Programming PDF In Proc of the 11th ECOOP International Workshop on Component Oriented Programming WCOP 2006 2006 原始内容 PDF 存档于2006 12 23 外部链接 编辑Don Schwarz Peeking Inside the Box Attribute Oriented Programming with Java5 页面存档备份 存于互联网档案馆 Sun JSR 175 页面存档备份 存于互联网档案馆 Attributes and Reflection 页面存档备份 存于互联网档案馆 sample chapter from Programming C 页面存档备份 存于互联网档案馆 book Modeling Turnpike Project Fraclet 页面存档备份 存于互联网档案馆 An annotation based programming model for the Fractal 页面存档备份 存于互联网档案馆 component model Attribute Enabled Software Development book 取自 https zh wikipedia org w index php title 面向特性编程 amp oldid 78950766, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。