面向特性编程（@OP）是一种程序层次的标记技术。编程者可以给程序元素（例如类和方法）标记上（attribute），来指示它们包含特定于应用或特定于领域的语义。特性将一个应用的核心逻辑（或业务逻辑）同特定于应用或特定于领域的语义（比如日志和网页服务功能）分离开来。例如，一些编程者可以定义“logging”特性并把它关联于一个方法，来指示这个方法应当实现一个日志功能，而其他编程者可以定义一个“web service”特性并把它关联于一个类，来指示这个类应当实现为一个网页服务。通过在程序代码中隐藏这些语义的实