首页 >
观点导向
✍ dations ◷ 2025-09-02 09:11:13 #观点导向
面向切面的程序设计(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提出的。同许多重大的技术创新一样,面向切面的程序设计也是在不同的地方被独立发展出来。面向切面编程的早期工作主要是由下面几个机构和人员作出的。
相关
- 本都统治者列表这是一份本都王国统治者的列表。本都是希腊化时代安纳托利亚的一个重要王国,其国王可能具有伊朗血统。
- 马里兰州马里兰州(英语:State of Maryland),简称马州,是美国的一州,属于美国中大西洋地区,其西边与南边与西弗吉尼亚州、弗吉尼亚州、华盛顿哥伦比亚特区接壤,北方是宾夕法尼亚州,东邻为特拉
- 奥希替尼奥希替尼 (英语:Osimertinib,又名奥沙替尼) 是一种用于治疗非小细胞肺癌的小分子靶向抗肿瘤药物, 它由阿斯利康公司开发,为第三代表皮生长因子受体抑制剂。该药物于2017年被FDA和
- 鳄梨油鳄梨油是指用鳄梨(Persea americana)果实压榨而成的植物油。除作为食用油外,鳄梨油还被用作润滑油,或用于制作化妆品。鳄梨油富含单不饱和脂肪酸与维生素E,同时可以促进类胡萝卜
- 宇宙年龄宇宙年龄是指自宇宙大爆炸开始至今所经历的宇宙历史时间,当今天文学界理论和观测皆一致认为这个年龄介于137-138亿年之间。这个不确定的区间是从多个科研项目的研究结果的共识
- 肌节肌小节(英语:sarcomere,即肌节、肌原纤维节)是肌原纤维(英语:myofibril)的基本单位。肌节由三种不同肌丝系统组成。二头肌的一个肌细胞可以有100000个肌节。平滑肌的肌原纤维不排列
- 酮酸酮酸(英语:Keto acid)是一类在生物体内拥有重要作用的有机酸,在氨基酸新陈代谢和维持氧化还原状态的过程中它起一个中心作用。酮酸分两种:α-酮酸是两个羰基直接相邻的酮酸,丙酮酸
- QD-LED量子点显示器("Quantum dot display")是一种借由量子点(Quantum dot, QD)或半导体奈米晶体其之特殊光电性质可产生纯色之红、绿和蓝光之三原色以作为显示应用的技术。在于现今显
- 高雄市文化资产列表高雄市文化资产是位于台湾高雄市的古迹与历史建筑,以下的古迹与历史建筑均收录在中华民国文化部文化资产局网站里。假日 9:00-21:002004年3月2日
- 纽澳军团级巡防舰安扎克级巡防舰,或者纽澳军团级巡防舰(英语:Anzac-class frigate)是以德国MEKO 200型为基础设计修改,由澳大利亚Tenix防卫系统公司建造的巡防舰。采用模组化设计,舰上设备由新西兰