首页 >
观点导向
✍ dations ◷ 2025-07-21 13:24:58 #观点导向
面向切面的程序设计(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提出的。同许多重大的技术创新一样,面向切面的程序设计也是在不同的地方被独立发展出来。面向切面编程的早期工作主要是由下面几个机构和人员作出的。
相关
- 生物数学数理生物学(英语:mathematical and theoretical biology),又称数学生物学(英语:mathematical biology)或生物数学(英语:biomathematics)是一个跨学科的领域,其主要目标是利用数学的技巧
- 作者作者指创作文学、艺术、科学等作品的人。从根本上说,只有自然人才能成为作者。然而法人和其他组织在特定条件下也能成为法律意义上的作者。例如作品的创作人受雇于某组织,为该
- 美国人美国人,是世界上对于与美国有关的人士的指称,通常是指美国公民、美国国民,或者祖先、直系尊亲属是美国公民或国民的其他地区人士。依据美国公民出生地原则,一般来说,出生于美国各
- HOONO过氧亚硝酸(HNO3/HOONO/HONO2)是一种活性中间体,被广泛认为是自由基。它是过氧亚硝酸根(ONOO−)的共轭酸。它的pKa约为6.8。过氧亚硝酸可以均裂成二氧化氮和羟基自由基,这是一对笼
- 斯图尔特·A·赖斯斯图尔特·阿兰·赖斯(英语:Stuart A. Rice,1932年1月6日-),美国理论化学家和物理化学家。他现在是芝加哥大学弗兰克·P·希克森杰出服务名誉教授。1999年获国家科技奖章。
- 路易斯酸酸碱电子理论,也称广义酸碱理论、路易斯酸碱理论,是1923年美国化学家吉尔伯特·路易斯提出的一种酸碱理论。该理论认为:凡是可以接受外来电子对的分子、基团或离子为酸(路易斯酸
- 细胞迁移细胞迁移,与细胞移动同义,与细胞运动义近,指的是细胞在接收到迁移信号或感受到某些物质的浓度梯度后而产生的移动。移动过程中,细胞不断重复着向前方伸出突触/伪足,然后牵拉后方
- 潜射弹道导弹潜射弹道导弹(英语:submarine-launched ballistic missile,缩写为SLBM)是指由弹道导弹潜艇发射的弹道导弹。现代化的该类型导弹大多具备搭载多目标重返大气层载具(MIRVs)能力,以便
- 窦房节律在一周期的心脏律动中,如果心肌的去极化从窦房结开始,则称为窦性心律(英文:sinus rhythm)。其特点是心电图(ECG)中展示方向正确的P波(英语:P wave (electrocardiography))。窦性心律是
- P血型系统P血型系统(英文:P Antigen System)是人类血型系统的一种,其基因座位于22号染色体上。其抗原以糖脂形式存在,包括P1、P2、Pk1、Pk2以及p五种表型。1927年,奥地利生物学家卡尔·兰德