横切关注点是什么

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

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

横切关注点是什么

简介

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

举个例子来说,编写一个处理医生记录的 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)
时间不会说谎  的头像时间不会说谎  

相关推荐

  • 手环数据怎么同步手机,详细步骤教程

    手环作为一种智能穿戴设备,可以记录我们的运动数据、睡眠数据等,但是如果没有将这些数据同步到手机上,那么这些数据就无法得到更好的应用。那么手环数据怎么同步手机呢?下面就为大家详细介绍一下。一、手环数据同步手机的前提条件在进行手环数据同步手

    2023年12月17日
  • 一元二次方程x能为0吗,如何判断解的情况

    一元二次方程是数学中的一种基本类型,它的一般形式为ax²+bx+c=0,其中a≠0。在解一元二次方程时,我们需要判断方程是否有解,以及解的情况。本文将详细介绍一元二次方程x能为0吗,并讲解如何判断解的情况。一、一元二次方程x能为0吗对于

    2023年10月20日
  • 电缆没有超负荷为何会发热,可能的原因和解决方法

    电缆在使用过程中发热是一件很常见的事情,但是如果电缆没有超负荷,为什么会发热呢?这是许多人都感到困惑的问题。本文将为大家介绍电缆没有超负荷为何会发热的可能原因和解决方法。一、电缆本身的问题1.电线质量不佳如果电线的质量不佳,可能会出现

    2023年11月9日
  • 三星note5参数,有哪些值得关注的亮点

    本文目录一览三星Note5参数(有哪些值得关注的亮点)外观设计性能配置拍照功能电池续航操作系统总结三星Note5参数(有哪些值得关注的亮点)三星Note5是三星公司于2015年8月发布的一款旗舰手机,该手机在发布后备受关注,其

    2023年12月28日
  • ThinkPad隐士,如何选择最适合你的笔记本电脑

    ThinkPad隐士系列是联想公司的高端笔记本电脑系列之一,以其高性能、高品质和高可靠性而著名。作为一款高端笔记本电脑,ThinkPad隐士系列的价格自然不菲,因此选择一款最适合自己的ThinkPad隐士笔记本电脑非常重要。本文将介绍如何选

    2023年10月13日
  • 如何避免DDoS

    DDoS攻击将可能造成网站服务器无法正常运行和访问,从而导致经济损失,可以通过选择DDoS防护的机房、在骨干节点配置防火墙、CDN流量清洗防御、隐藏服务器真实IP地址、利用负载均衡…

  • 光驱显示容量但打不开,如何解决这个问题

    光驱是我们电脑中常见的一个硬件设备,用来读取和写入光盘。但是,有时候我们会遇到这样的问题:光驱显示容量,但是无法打开光盘。这个问题该怎么解决呢?下面就让我们来一起了解一下。一、检查光驱硬件是否正常首先,我们需要检查一下光驱硬件是否正常。

    2024年2月12日
  • 只有十分钟使用手机你会做什么(是值得我们考虑的问题)

    最近关注到《决胜21天》这样的话题: 王境泽通过拍卖获得了十分钟玩手机的特权, 所有嘉宾都围观真香男孩的冲浪时刻, 拿到手机的@王境泽 第一时间给妈妈打电话报平安。 如果你只剩下十…

    2021年11月9日 科技
  • 佳能机身跑焦调整方法,怎样解决焦点不准的问题

    作为一名摄影爱好者,你一定会遇到焦点不准的问题。这个问题可能会让你失去许多宝贵的照片机会。而佳能机身跑焦是一个比较常见的问题,但是不要担心,今天我们将会介绍一些佳能机身跑焦调整方法,以帮助你解决焦点不准的问题。第一步:确认跑焦问题在进行

    2023年12月30日
  • 适合70岁老人用的智能手机,哪些功能最易于操作

    随着科技的不断发展,智能手机已经成为我们日常生活中必不可少的一部分。但对于年龄较大的人来说,使用智能手机可能会感到困难,因为它们通常具有复杂的功能和界面。然而,现在有一些适合70岁老人用的智能手机,这些手机具有易于操作的功能,使老年人也可以

    2024年1月27日
  • 锐捷48口光交换机,如何选择最适合自己的型号

    随着互联网的普及,网络设备的应用越来越广泛,其中交换机作为网络设备的重要组成部分,扮演着连接各种网络设备的重要角色。随着网络的发展,交换机的种类也越来越多,其中锐捷48口光交换机是一种常见的交换机类型。本文将详细介绍锐捷48口光交换机的特点

    2023年11月11日
  • 海信手机root权限在哪里设置,快速解决问题指南

    作为一款性价比颇高的手机品牌,海信手机在市场上拥有着不错的口碑。不过,对于一些手机爱好者来说,他们希望能够更好地利用手机的功能,这就需要获取root权限。那么,海信手机root权限在哪里设置呢?本文将为您详细介绍。一、什么是root权限

    2024年1月7日
  • 配股10配3是什么意思

    配股10配3的意思就是每10股有权按照配股价申购3股该股票,一般而言,配股价会比目前的市价要低很多。配股是上市公司向原股东发行新股、筹集资金的行为。公司配股时新股的认购权按照原有股…

  • 电热丝点火器,如何正确维护和更换

    本文目录一览为什么需要维护和更换电热丝点火器?如何正确维护电热丝点火器?如何正确更换电热丝点火器?总结电热丝点火器是一种常见的点火装置,广泛应用于燃气热水器、燃气灶、燃气炉等家用燃气设备中。它的工作原理是利用电热丝的电阻发热,将燃气点

    2023年12月16日
  • 威图手机有人买吗,用户评价和使用体验分享

    作为一款新兴的手机品牌,威图手机在市场上的表现如何?威图手机有人买吗?这是很多消费者都关心的问题。在这篇文章中,我将为大家分享威图手机的用户评价和使用体验。一、威图手机简介威图手机是一家中国智能手机厂商,成立于2016年。威图手机的产品

    2023年11月3日

发表回复

登录后才能评论