- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
慢练在钢琴练习中的重要性及需要注意的方面
1、相关定义
1.1、面向方面基本概念
2.2.1 横切关注点2.2.1 横切关注点 程序设计中的关注点是指软件工程中有实现意义的、可描述的、可管理的软件组 成部分,也即是说它们是软件系统中各种功能实现的最小组成部分。关注点通常被分 成两类:核心关注点和横切关注点。核心关注点是系统的主要功能实现点,而横切关 注点是指横越了整个系统多个模块的方法或者行为,它们导致了代码的交织和散布, 使得系统不能达到有效的模块化。 现有的程序设计技术(如面向对象程序设计方法)由于其本身的特点,尽管能对 系统的核心关注点进行很好的封装,但仍会有许多相对离散的关注点游离于封装体之 外,形成了散布的横切关注点,使得以上的代码交织和代码散布问题大量存在,进而 使系统难以模块化并形成清晰的结构,从而大大降低了系统的可读性、可重用性和可 维护性。 举例来说,在一个企业管理系统中,进货管理、出货管理、财务管理、人事管理 等是它的核心关注点,而日志、错误跟踪、维护等功能只是辅助核心关注点的实现, 它们的代码会被散布在上述几个管理模块中,从而成为了横切整个系统的横切关注 点。 9 浙江工业大学硕士学位论文
1.2、面向方面的概念框架
4.2.1 面向方面思想的讨论4.2.1 面向方面思想的讨论 在第二章我们详细阐述了面向方面的发展过程,本节将基于第二章的讨论进 一步剖析面向方面的思想及其在软件开发中的主要作用。探讨面向方面的思想需 要回答以下两个问题:首先,面向方面是作为面向对象的补充还是作为一种完全 新型的开发方法出现在软件工程中;其次,面向方面是否仅仅封装了横切关注点 。 面向方面最初出现的目的只是想把分散在程序模块中相同或相似的代码片段 集中一起处理,使程序员更多的去关心本模块应该去实现的核心功能,无需关心 与核心功能有关的部分。这是方面最早出现的原因。非对称式开发很好的支持了 这种功能。也由于这个原因,所以非对称式开发相对于对称式开发发展的更成熟, 应用的更广泛。这是站在已有软件的角度来看问题的,如果从这个角度来理解, 那么面向方面确实是作为面向对象的一种补充,其主要作用也就是增加软件的模 块化,可维护性,可理解性。面向对象还是作为核心的维度来主导系统的分解, 方面作为其补充封装那些横切在其中的关注点。 但是随着面向方面软件开发的不断发展,研究人员发现其支持的关注点不仅 仅包括这些补充性的关注点,还可能包含一些影响功能性实现的关注点,因此, 对称式开发被提出来。对称式开发继承自多维关注点分离的思想。其主要是以封 国防科学技术大学研究生院硕士学位论文 第 28 页 装功能性关注点来分解系统。它对非对称式中的横切关注点也是采取了一种封装 机制,对称式开发中的横切关注点相对非对称式的横切关注点意义更为广泛,其 不仅是那些传统的与软件质量相关的性能关注点,如:日志、监控之类。它还把 一些功能性的关注点也封装为方面。在对称式开发中,只要关注点会分散在多个 功能模块中,就可定义为是一种横切关注点。按照这种思路来分解系统,其相对 非对称式开发而言更贴近用户一些,用户只需按照功能性关注点去分解系统,最 后对应到软件实现上。这种方法的好处是方便了软件开发中的分析和设计阶段, 而把难度在实现阶段加大了,并且这种方法没有很好的利用现在已经十分成熟的 面向对象的实现。到目前为止,对称式开发还是停留在对原有程序进行修改上, 并且这种修改是在编译后的程序中做出的。但是对称式开发的出现说明了面向方 面软件开发可以作为一种全新的范式而不仅仅是一种面向对象的补充来支持软件 开发。文献[57]面向方面软件开发的发展方向有两点:一、对称性开发的方法学。 二、面向方面软件开发大规模的走向工业化应用。因此,针对第一个问题,本文 的回答是:面向方面可以作为面向对象的补充在传统的软件工程中使用,目前的 研究大部分也是从这一点出发的;但是并不能忽略其最终成为一种完全脱离面向 对象的新型的软件开发范式。 即使是对称式开发,其出发点还是基于封装横切关注点,只不过是把横切关 注点的概念扩大了,它把分散在系统中的功能性的点也看成一种横切。但是随着 面向方面的发展,面向方面的用处可以不仅仅去封装这些横切关注点。例如:在 已有的软件中加入新的需求:可以利用面向方面的技术在不改变原有软件架构的 基础上对软件的功能加以补充;传统测试中,利用方面的技术可以观察其执行流 程,而不是简单记录其结果。这些机制都是作为一种新的封装机制,其中封装了 在某一时刻系统可能要出发的点。至于封装的关注点已经不仅仅是横切关注点, 而是用户需要封装的关注点。本文认为,随着面向方面软件开发的不断发展和应 用,其最终的发展方向将不仅仅是封装横切关注点,而是只要用户想要进行封装 的关注点都可以封装其
文档评论(0)