横切关注点

✍ dations ◷ 2025-08-18 14:55:56 #计算机编程,面向切面的程序设计

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


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

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

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

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

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


相关

  • 实词实词是语文词类中的一种,是指词语中含有实际意义的词语。实词能单独充当句子成分,一般包含名词、动词、形容词、数词、量词、代词及副词等。根据组合能力的不同可以把实词分为
  • 尼古拉斯·廷贝亨尼古拉斯·“尼科”·廷贝亨(Nikolaas "Niko" Tinbergen,1907年4月15日-1988年12月21日)是一位荷兰动物行为学家与鸟类学家。1973年他与卡尔·冯·弗利、康拉德·洛伦兹因为在动
  • 大东亚战争大东亚战争(日语:大東亜戦争/だいとうあせんそう)是日本对第二次世界大战时在远东和太平洋战场的战争总称。其目的是为建立以日本为中心的“大东亚共荣圈”,解放受英国、美国、荷
  • 栗树栗是壳斗科栗属(学名:Castanea)中的乔木或灌木总称,大约有八九种,原生于北半球温带地区,大部分种类栗树都是20-40米高的落叶乔木,只有少数是灌木。各种栗树都结可以食用的坚果,单叶,
  • 凌晨凌晨,原指天快亮的时间段,现在通常指子夜到天快亮的这段时间。其中,“凌”意为迫近,“晨”指早上太阳刚出来的时候。二十四小时制的04:00,电台报时会称为凌晨4时。少数人会称06:0
  • 2015年泰国羽毛球黄金大奖赛2015年泰国羽毛球黄金大奖赛为第27届泰国羽毛球公开赛,是2015年世界羽联大奖赛的其中一站。本届赛事于2015年9月29日至10月4日在泰国暖武里府的城市北革内的Muang Thong Than
  • 深泽七郎深泽七郎(1914年-1987年8月18日),日本小说家。深泽七郎生于山梨县石和温泉乡。中学时期喜读外国文学作品,又喜欢弹吉他,后在东京举办独奏会。中学毕业后到药店和面包铺作学徒,战后
  • 大卫·纽根特大卫·詹姆斯·纽根特(英语:David James Nugent,1985年5月2日-)是一名英格兰足球运动员,司职前锋,现时效力英冠俱乐部普雷斯顿。他此前曾分别为贝里、普雷斯顿和朴茨茅斯在英格兰足
  • 女工程师女工程师(英语:Women Engineer)是指那些在工程专业领域的女性,他们使用科学知识来驾驭技术以解决实际问题,并以此为职业。女工程师和女科学家(women scientists)往往容易混淆,科学家
  • 纤夫纤夫是以体力拉动驳船为生的人。昔日在长江、嘉陵江都有裸体的纤夫。现代部分地区仍有以纤夫拉动船只的做法。纤夫在俄语称为бурлак,源于鞑靼语,意思是“无家的”。另一