观点导向

✍ dations ◷ 2024-12-22 14:48:35 #观点导向
面向切面的程序设计(Aspect-oriented programming,AOP,又译作面向方面的程序设计、剖面导向程序设计)是计算机科学中的一种程序设计思想,旨在将横切关注点与业务主体进行进一步分离,以提高程序代码的模块化程度。通过在现有代码基础上增加额外的通知(Advice)机制,能够对被声明为“切点(Pointcut)”的代码块进行统一管理与装饰,如“对所有方法名以‘set*’开头的方法添加后台日志”。该思想使得开发人员能够将与代码核心业务逻辑关系不那么密切的功能(如日志功能)添加至程序中,同时又不降低业务代码的可读性。面向切面的程序设计思想也是面向切面软件开发的基础。面向切面的程序设计将代码逻辑切分为不同的模块(即关注点(Concern),一段特定的逻辑功能)。几乎所有的编程思想都涉及代码功能的分类,将各个关注点封装成独立的抽象模块(如函数、过程、模块、类以及方法等),后者又可供进一步实现、封装和重写。部分关注点“横切”程序代码中的数个模块,即在多个模块中都有出现,它们即被称作“横切关注点(Cross-cutting concerns, Horizontal concerns)”。日志功能即是横切关注点的一个典型案例,因为日志功能往往横跨系统中的每个业务模块,即“横切”所有有日志需求的类及方法体。而对于一个信用卡应用程序来说,存款、取款、帐单管理是它的核心关注点,日志和持久化将成为横切整个对象结构的横切关注点。切面的概念源于对面向对象的程序设计的改进,但并不只限于此,它还可以用来改进传统的函数。与切面相关的编程概念还包括元对象协议、主题(Subject)、混入(Mixin)和委托(Delegate)。从核心关注点中分离出横切关注点是面向切面的程序设计的核心概念。分离关注点使得解决特定领域问题的代码从业务逻辑中独立出来,业务逻辑的代码中不再含有针对特定领域问题代码的调用,业务逻辑同特定领域问题的关系通过切面来封装、维护,这样原本分散在在整个应用程序中的变动就可以很好的管理起来。最广为人知的面向切面的编程库是由施乐帕洛阿尔托研究中心开发的AspectJ,该语言可以和Java编程语言结合在一起使用。在.NET Framework的环境,则有透过MSIL动态注入来实现AOP的PostSharp库,但是到3.0版为为止,官方文件中只注明适用于C#与VB.NET,不适用于C++/CLI。“面向切面的程序设计”这一术语出现的具体时间已经不可考证了,但该词是由施乐帕洛阿尔托研究中心的Chris Maeda首先提出的。术语“横切”是由Gregor Kiczales提出的。同许多重大的技术创新一样,面向切面的程序设计也是在不同的地方被独立发展出来。面向切面编程的早期工作主要是由下面几个机构和人员作出的。

相关

  • 疣微菌门疣微菌门(Verrucomicrobia)是一门被划出不久的细菌,包括少数几个被识别的种类,主要被发现于水生和土壤环境,或者人类粪便中。还有很多未被成功培养的种类是和真核宿主共生的,包括
  • 巴鲁赫·斯宾诺莎斯宾诺莎(拉迪诺语:Baruch de Spinoza,拉丁语:Benedictus de Spinoza,1632年11月24日-1677年2月21日),西方近代哲学史重要的理性主义者,与笛卡尔和莱布尼茨齐名。斯宾诺莎的祖先是居
  • 碳纤维碳纤维(英语:Carbon fiber),是一种具有很高强度和模量的耐高温纤维,为化纤的高端品种。它主要由碳原子构成,直径约5-10微米。 为了产生碳纤维,碳原子在晶体中被键合在一起,平行排列
  • 锝-99m锝-99m是锝-99的核同质异能素。化学符号是Tc-99m,半衰期为6小时。占全世界医疗用放射性元素的80%,其中90%用于扫描诊断,像是单光子电脑断层扫描(英语:Single-photon emission com
  • 食品污染事件黑心食品,涉及食品污染(英语:Food Contamination)、微生物学或非法使用食品添加物事件时有发生,如因收获不佳或贮存的粮食衍生霉菌毒素(英语:Mycotoxin),使用违禁兽药产品,工业污染排
  • 法国悖论法国悖论是一个流行语,此一词语最早出现在1980年代,是在描述一种似乎矛盾的流行病学观察:法国人饮食中的饱和脂肪相对偏高,可是其冠状动脉心脏疾病(CHD)的发病率却相对偏低,这和普
  • 胡达·佐格比胡达·亚也·佐格比 (英语:Huda Yahya Zoghbi,阿拉伯语:هدى الهبري الزغبي‎,1955年6月24日-),原名胡达·阿尔-希贝里(Huda El-Hibri),黎巴嫩裔美国遗传学家,休斯敦贝勒
  • 鲁滨逊漂流记《鲁滨逊漂流记》(英语:Robinson Crusoe,又译作鲁滨孙漂流记,或鲁宾逊漂流记,鲁宾孙漂流记。直译作鲁宾逊·克鲁索)是一本由丹尼尔·笛福59岁时所著的第一部小说,首次出版于1719年4
  • 血管紧张素原1N9U, 1N9V, 2JP8, 2WXW, 2X0B· hormone activity · hormone activity · protein binding · growth factor activity · acetyltransferase activator activity ·
  • 预处理在计算机科学中,预处理器是程序中处理输入数据,产生能用来输入到其他程序的数据的程序。输出被称为输入数据预处理过的形式,常用在之后的程序比如编译器中。所作处理的数量和种