横切关注点是什么

Fanly QA 2020-10-24 21:47:23 阅读(...)

横切关注点指的是一些具有横越多个模块的行为,使用传统的软件开发方法不能够达到有效的模块化的一类特殊关注点。

横切关注点指的是一些具有横越多个模块的行为,使用传统的软件开发方法不能够达到有效的模块化的一类特殊关注点。

横切关注点是什么

简介

在‘面向切面’软件开发中,横切关系是程序中和其他模块有联系的‘切面’。这些关系在程序模块化的设计和实现中无法被自然得分解到模块中,导致或代码过于分散,或代码冲突,或者两者都有。

举个例子来说,编写一个处理医生记录的 app,这些记录的索引是核心模块,同时关于存储记录或用户信息的数据的历史日志,或者登录的验证系统,由于和 app 中大部分模块都有关系所以成为了‘横切关系’。

背景

横切关系是那些和程序中大部分模块都有联系的部分,它们形成了切面开发的基础单元。这样的横切关系部分不能自然得适配面向对象编程理念和面向过程变成理念。

程序内那些冲突或者内部依赖过度一般都和横切关系有直接联系,由于过程性和功能性编程语言的结构完全是步骤化调用,也就没有语法可以同时进行功能实现和横切关系处理,这样一来,解决横切关系的代码就在程序中分散或者重复执行,最终导致了程序模块化的丧失。

AOP(面向切面编程)的目的是将这些横切关系封装进切面来保持程序的模块化,也就可以保持自然得模块独立性和处理横切关系代码的可复用性。通过这些对横切关系的设计处理,作为对于面向对象编程的一个补充,软件工程的模块化和维护简单化的优势仍然可以保持。

模块

软件模块(Module)是一套一致而互相有紧密关连的软件组织。它分别包含了程序和数据结构两部分。

现代软件开发往往利用模块作合成的单位

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

模块是可能分开地被编写的单位。这使他们可再用和允许广泛人员同时协作、编写及研究不同的模块。

面向切面的程序设计

面向切面的程序设计(aspect-oriented programming,AOP,又译作面向方面的程序设计、观点导向编程、剖面导向程序设计)是计算机科学中的一个术语,指一种程序设计范型。该范型以一种称为侧面(aspect,又译作方面)的语言构造为基础,侧面是一种新的模块化机制,用来描述分散在对象、类或函数中的横切关注点(crosscutting concern)。

切面的概念源于对面向对象的程序设计的改进,但并不只限于此,它还可以用来改进传统的函数。与切面相关的编程概念还包括元对象协议、主题(subject)、混入(mixin)和委托。

最广为人知的面向侧面的程序设计语言是由施乐帕洛阿尔托研究中心开发的 AspectJ,该语言可以和 Java 编程语言结合在一起使用。

在.NET Framework 的环境,则有通过 MSIL 动态注入来实现 AOP 的 PostSharp 库,但是到 3.0 版为为止,官方文件中只注明适用于 C#与 VB.NET,不适用于 C++/CLI。

收藏 0个人收藏
走进科技生活方式

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • 模块化 modularity

    模块化是什么意思

    模块化是指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程,有多种属性,分别反映其内部特性。模块化的作用是用来分割,组织和打包软件;每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。
  • 银行卡 bank card

    信用卡单位电话可以随便填吗

    信用卡单位电话不可以随便填。用户在申请信用卡时填写了单位电话,那么银行会拨打该电话进行电话审核。电话无法接通或者显示号码不正确、号码为空号,都会导致信用卡审批不通过。用户没有工作单位,单位电话可以填写手机号码,这样也比乱填要好。
  • credit card 信用卡

    信用卡单位电话没有怎么办

    如果公司没有固定电话,可以跟业务员说明该情况,看看是否能提交申请,不同银行有不同的要求。之所以要求有单位固话,是因为银行审核过程中会进行电话回访。
  • 军牌HN是哪个单位的

    军牌HN是哪个单位的

    军牌HN是军区总装备部的车牌,军车号牌是中国人民解放军(包括武警部队)军用车辆的标志,是军交运输部门经对申领号牌的车辆进行审核、检验、登记后核发的有注册登记编码的号码牌,是国家赋予军车运行特殊权利的证明。
  • 存储单位是什么

    存储单位是什么

    存储单位是一种计量单位。指在某一领域以一个特定量,或标准做为一个记录(计数)点。再以此点的某个倍数再去定义另一个点,而这个点的代名词就是计数单位或存储单位。
  • 洗衣机 washing machine

    安装洗衣机需要注意些什么

    不要超负荷用电,如用电负荷超过规定容量,不要私自或请无资质的装修队及人员铺设电线和接装用电设备,安装、修理电器用具要找有资质的单位和人员。