首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 46 毫秒
1.
面向对象的编程OOP(Object Oriented Programming)能够有效地解决面向过程语言的缺陷,现有的软件项目大都采用面向对象的编程范型。但是OOP不能解决由于横切属性带来的代码混乱和代码分散等诸多问题,导致系统的可读性和复用性差,因此引入了面向方面的编程AOP(Aspect—Oriented Programming)思想。该编程思想可使开发者有效地将业务关注点与横切关注点分离,解决OOP的难题。介绍了AOP技术中较成熟的语言——AspectJ及其相关概念,通过一个信息管理系统,展示AOP技术在处理横切关注点时发挥的优势。  相似文献   

2.
基于Spring的面向方面编程   总被引:1,自引:0,他引:1  
面向方面编程(AOP)是面向对象编程(OOP)的一种扩展技术,能够很好的解决横切关注点问题,使得大型软件的设计和实现都能保持功能分离,解除代码耦合。采用AOP技术设计的软件,功能划分清晰,代码保持独立,系统维护简单。SpringAOP是AOP技术的一种实现技术。  相似文献   

3.
In object‐oriented programming (OOP), proxies are entities that act as an intermediary between client objects and target objects. Dynamic proxies can be used to construct distributed systems that support the open implementation approach and promote code reuse. The OO paradigm supports code reuse through various ways including inheritance, polymorphism and aggregation. In this paper, we adopt a definition of software reuse restricted to reuse of code components and address the question of constructing distributed systems based on dynamic proxies. Different networking techniques and programming paradigms such as Java's Remote Method Invocation (RMI), the Common Object Request Broker Architecture (CORBA) and Java Servlets are used to implement the distributed client/server architecture. Copyright © 2004 John Wiley & Sons, Ltd.  相似文献   

4.
基于本体和多Agent的面向任务协同编程   总被引:1,自引:1,他引:0       下载免费PDF全文
针对面向对象编程与面向方面编程存在的问题,提出一种基于本体和多Agent的面向任务协同编程方法,给出任务分解原则、任务描述方法及编程的9个阶段。通过实例验证该方法可以提高目标软件系统的模块化程度,使目标软件系统易于实现、理解、演化和复用。  相似文献   

5.
面向方面的编程的研究与实现   总被引:15,自引:1,他引:14  
面向方面的编程(AOP)是一种新的编程技术,它弥补了面向对象的编程(OOP)在跨越模块行为上的不足。 AOP 引进了Aspect,它将影响多个类的行为封装到一个可重用模块中,它允许程序员对横切关注点进行模块化,从而消除了OOP引起的代码混乱和分散问题,增强了系统的可维护性和代码的重用性。首先进行了AOP与OOP的比较,给出了AOP的原理和AOP的JBoss实现,最后介绍AOP在设计模式中的应用,并说明了使用它所带来的设计益处以及在应用AOP中应注意的问题。  相似文献   

6.
面向方面的程序设计综述   总被引:1,自引:0,他引:1  
现在大多数的软件项目都选择OOP,但OOP技术也有其局限性,它对某些需求并不能很好地进行描述。本文介绍了一种全新的程序设计方法一面向方面的程序设计方法,这种程序设计方法可以有效地描述OOP方法不能描述的横切关注点;介绍了面向方面程序设计的基本思想以及面向方面程序设计语言AspectJ的基本概念及面向方面软件开发方法。  相似文献   

7.
一种基于AOP的企业应用开发技术   总被引:5,自引:0,他引:5  
面向方面的编程(Aspect-OrientedProgramming,AOP)是一种新的编程技术,它弥补了面向对象的编程(Object-OrientedProgramming,OOP)在跨越模块行为上的不足。AOP引进了Aspect,它将影响多个类的行为封装到一个可重用模块中,它允许程序员对横切关注点(crosscuttingconcerns,即跨越典型职责界限的行为,例如日志记录)进行模块化,从而消除了OOP引起的代码混乱和分散问题,增强了系统的可维护性和代码的重用性。该文首先分析了AOP与OOP的比较,然后给出了AOP的原理和AOP的JBoss实现,最后介绍AOP在设计模式中的应用,并说明了使用它所带来的设计益处以及在应用AOP中应注意的问题。  相似文献   

8.
基于AOP技术的重构方法研究与实现   总被引:7,自引:0,他引:7  
对面向 Aspect这种新的编程技术进行了分析 ,阐述了如何利用 AOP技术进行重构 .通过与传统方法进行分析对比 ,AOP可为软件工程技术提供一流的、可重用的解决方案 .通过对 Java Web应用的用户访问控制模块的研究和实现 ,提出了一种新的基于 AOP的重构方法  相似文献   

9.
基于UML的面向方面建模方法   总被引:10,自引:0,他引:10  
刘瑞成  张立臣 《计算机科学》2005,32(10):204-209
面向方面编程(AOP)技术通过横切关注来实现软件系统.面向方面建模可通过扩展UML来实现,在元模型层次上设计面向方面软件开发(AOSD)模型框架.从结构建模、行为建模、方面织入以及代码产生几个方面实现面向方面的建模方法.利用UML类图实现方面的结构模型,方面与核心组件及方面之间的静态模型关系.协作图表达方面与核心组件及方面之间的动态行为,并通过状态图细化方面和核心组件的动态行为,实现状态图的方面与核心组件及方面之间的织入关系,最终实现方面代码的自动生成.基于UML的方面建模填补AOP与OOP技术之间的空白,提高软件设计的模块化,增强代码的重用性、维护性.  相似文献   

10.
Viega  J. Vuas  J. 《Software, IEEE》2000,17(6):19-21
Aspect-oriented programming (AOP) is a novel topic in the software engineering and languages communities. AOP appears to have the potential to significantly improve the reliability of programs, particularly by modularizing error-handling policies and allowing for easier maintenance and better reuse. In this article, we introduce AspectJ, the first AOP language, and demonstrate how you can use it to construct more reliable software  相似文献   

11.
毛新军  胡翠云  孙跃坤  王怀民 《软件学报》2012,23(11):2885-2904
面向Agent程序设计(agent-oriented programming,简称AOP)基于多Agent系统的抽象和思想、借助于Agent理论和技术来支持软件系统的构造与实现,其程序设计思想、软件模型、基础理论和语言设施有别于现有主流程序设计技术,如OOP,代表了一种新颖的程序设计范型.由于多Agent系统被视为支持开放环境下复杂软件系统开发的一种新颖、有效的技术手段,因而近年来AOP受到人工智能、软件工程和分布计算等领域研究学者和工程实践人员的高度关注,并在过去20年取得了重要进展.但是,无论在应对复杂多Agent系统开发方面,还是在大规模工业化应用等方面,AOP的研究与实践都面临着严峻的挑战.作为一种程序设计范型,AOP研究需要在交叉其他学科知识(如人工智能)的基础上,充分借鉴软件工程以及已有程序设计范型的原理、原则和成功实践,从而推动技术走向成熟并为广大工程实践人员所接受.通过对AOP研究历程的系统介绍,从软件工程的视点考虑MAS程序设计的不同层次,综述AOP在程序设计抽象与模型、机制与理论、语言与设施和支撑平台这4个方面的研究成果,展示不同时期AOP研究关注点的变化以及发展趋势,分析当前AOP研究与实践存在的问题和面临的挑战,并展望进一步的研究.  相似文献   

12.
Object‐oriented technology is gaining popularity among software engineers with the goal of building reusable and adaptable software. Unfortunately, however, most methods introduced so far are not domain‐oriented and do not address the issue of reuse directly. For these methods, software reuse is not the primary goal; it is only a by‐product. The feature‐oriented reuse method, FORM, is extended in this paper for improving the object‐oriented engineering of applications for reuse. FORM concentrates on analyzing and modeling commonalities and differences in the applications of a given domain in terms of capability, operating environment, domain technology, and implementation technique features. These features are used to systematically derive objects that are tied to the features, and to develop reusable and adaptable domain architectures. We found that FORM facilitates analysis of variability (and commonality) of software before engineering and implementation start, and with this understanding, adaptability and reusability can be built into software. Feature modeling has been found to be an effective method for identifying and modeling reusable objects. Copyright © 2000 John Wiley & Sons, Ltd.  相似文献   

13.
针对面向对象编程(OOP)中横切关注点与业务逻辑代码纠缠的现象,提出了一种面向方面编程(AOP)的统一建模方法以弥补OOP的不足;该基于UML的方面建模方法从AOP与OOP技术存在的问题出发,通过基于UML的AOP建模方法研究,提高了软件设计的模块化,增强了代码的重用性、维护性;最后,以银行系统ATM中的取款业务的建模为例来描述用UML建模过程,为AOP建模提供了一种新的研究思路。  相似文献   

14.
介绍了基于面向方面编程(AOP)基本思想,分析了B/S多层架构中面向对象编程所面临的困境,介绍如何将AOP思想应用于B/S多层架构中的业务层,相比纯面向对象的实现突出显示了AOP在业务层事务处理上优越性。它主要体现在两个方面:系统架构清晰,可读性、复用性、扩展性增强;降低系统的耦合性,有利于团队成员分工合作,减少主业务开发人员负担。  相似文献   

15.
This paper discusses an approach called Draco to the construction of software systems from reusable software parts. In particular we are concerned with the reuse of analysis and design information in addition to programming language code. The goal of the work on Draco has been to increase the productivity of software specialists in the construction of similar systems. The particular approach we have taken is to organize reusable software components by problem area or domain. Statements of programs in these specialized domains are then optimized by source-to-source program transformations and refined into other domains. The problems of maintaining the representational consistency of the developing program and producing efficient practical programs are discussed. Some examples from a prototype system are also given.  相似文献   

16.
面向智能主体的程序设计   总被引:13,自引:1,他引:13  
面向智能主体的程序设计是一种以计算的社会观为基础的新型程序设计范例。本文介绍我们在AOP方面进行的研究工作。AOP工作以多个智能主体的知识信息处理问题为背景,采用AOP的语法途径,强调将知识本文首先讨论与AOP相关的智能主体的体系结构。然后,以AOP语言ROOT的技术支点(即面向对象程序设计技术、基于条件重写的逻辑程序设计技术和元级推理技术等)为线索介绍ROOT。最后通过一个简单例说明ROOT的A  相似文献   

17.
Aspectual Feature Modules   总被引:1,自引:0,他引:1  
Two programming paradigms are gaining attention in the overlapping fields of software product lines (SPLs) and incremental software development (ISD). Feature-oriented programming (FOP) aims at large-scale compositional programming and feature modularity in SPLs using ISD. Aspect-oriented programming (AOP) focuses on the modularization of crosscutting concerns in complex software. Although feature modules, the main abstraction mechanisms of FOP, perform well in implementing large-scale software building blocks, they are incapable of modularizing certain kinds of crosscutting concerns. This weakness is exactly the strength of aspects, the main abstraction mechanisms of AOP. We contribute a systematic evaluation and comparison of FOP and AOP. It reveals that aspects and feature modules are complementary techniques. Consequently, we propose the symbiosis of FOP and AOP and aspectual feature modules (AFMs), a programming technique that integrates feature modules and aspects. We provide a set of tools that support implementing AFMs on top of Java and C++. We apply AFMs to a nontrivial case study demonstrating their practical applicability and to justify our design choices.  相似文献   

18.
Observer模式被人们广泛应用(特别是在GUI应用程序中),并构成了MVC架构的关键部分。它处理复杂的问题,而在解决这类问题方面表现得相对较好。但面向对象的Observer模式实现方案中,要求先侵入系统中现有的类,然后才能支持该模式,带来了以下问题:难以理解、可重用性差、后期维护很复杂、代码不容易组合等。基于AOP技术,提出了一种可重用的Observer模式的方案,并通过与面向对象实现方案的比较,得出了AOP技术实现方案具有模块松散耦合、可重用性高等优点的结论。  相似文献   

19.
一种基于组件的aspect-oriented编程框架   总被引:2,自引:0,他引:2  
面向方面的编程(AOP:aspect-oriented programming)是一种新的编程技术.它引进了aspect,将影响多个模块的行为封装到一个可重用模块中,允许程序员对横切(crosscutting concerns)进行模块化,从而消除了面向对象编程(OOP:object-oriented programming)引起的代码混乱和分散问题.本文讨论了在服务体模型上实现的一种aspect-oriented编程框架.这个编程框架使用aspect组件,定义了对OOP语言的扩展,可方便将模块化的aspect代码扩展到源程序中,解决了OOP模型在这方面的不足.  相似文献   

20.
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号