横切关注点是什么,第1张

横切关注点是指一种特殊的关注点,它具有跨多个模块的行为,不能通过使用传统的软件开发方法实现有效的模块化

横切关注点是指一种特殊的关注点,它具有跨多个模块的行为,不能通过使用传统的软件开发方法实现有效的模块化。

横切关注点是什么,横切关注点是什么,第2张

简介

在“面向部分”的软件开发中,横切关系是与程序中其他模块相关的“部分”。这些关系在程序模块化的设计和实现中无法自然分解成模块,导致代码过度分散、代码冲突,或者两者兼而有之。

比如写一个处理医生记录的app,这些记录的索引是核心模块。同时,存储记录或用户信息的数据的历史日志,或者登录验证系统,与app中的大部分模块有交叉关系。

背景

横切关系是那些与程序中大多数模块相关的部分,它们构成了剖切面开发的基本单元。这种横切关系自然不能适应面向对象编程的思想和面向过程转换的思想。

程序中的冲突或过度的内部依赖一般与横切关系直接相关。因为过程式和函数式编程语言的结构是完全一步一步调用的,所以没有同时实现函数和处理横切关系的语法。结果,解决横切关系的代码在程序中分散或重复执行,最终导致程序模块化的丧失。

AOP (Aspect Oriented Programming)的目的是将这些横切关系封装到小平面中,以保持程序的模块化,这可以保持处理横切关系的代码的自然模块独立性和可重用性。通过这些横切关系的设计处理,作为面向对象编程的补充,软件工程的模块化和维护简化的优势仍然可以保持。

组件

软件模块是一组一致且密切相关的软件组织。它包含两个部分:程序和数据结构。

现代软件开发经常使用模块作为综合的单位

模块的接口表达了模块提供的功能和调用它所需的元素。

模块是可以单独编写的单元。这使得它们可以重用,并允许大量的人同时协作、编写和研究不同的模块。

面向部分的程序设计

面向方面编程(AOP)是计算机科学中的一个术语,指的是一种编程范式。这种范式基于一种叫做方面的语言结构,它是一种新的模块化机制,用于描述分散在对象、类或函数中的横切关注点

区段的概念源于对面向对象编程的改进,但并不限于此,也可以用来改进传统的函数。与方面相关的编程概念还包括元对象协议、主题、混合和委托。

最知名的面向边的编程语言是施乐帕洛阿尔托研究中心开发的AspectJ,可以和Java编程语言一起使用。

在。NET Framework环境下,有一个PostSharp库,通过MSIL动态注入实现AOP,但是到了3.0版,官方文档只表示适用于C#和VB.NET,不适用于C++/CLI。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 横切关注点是什么

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情