1、 本科毕业设计说明书(论文)本科毕业设计说明书(论文) 第 1 页 共 28 页 1 1 引言引言 框架从某种意义上讲是某种应用的半成品,它是由一组组件所构成。对于程序的 重用性与所设计的系统的扩展性以达到开发周期的缩减的目的与开发质量的提高等 目的,往往是框架一直追求并良好的实现了的。 在软件设计中,最终遵循的还是一个设计理念,就是“高内聚,低耦合” 。框架 一般是将问题分割成若干子问题进行一一攻破,从而起到易于控制、扩展,易于分配 资源的效果。设计过程中,常常引入“层”的概念,及将各个义务分层实现。其间难 免会出现耦合,而耦合度过高会降低系统的扩展性和维护性。而框架主要工作在层与 层之间,
2、很好的解决了这一问题。在软件设计中有一个概念叫做 IoC,及控制反转, 也叫 DI(依赖注入) ,它主要就是实现层与层之间的松耦合。 面向对象编程在软件设计中无处不在,非常完美的解决了代码重用。但有时候具 体的业务贯穿整个系统,而往往这个业务是重复出现的,利用面向对象已不能很好解 决。 在这里便出现了 AOP (面向切面编程) , 将其中相同的业务抽取出来进行统一解决。 在这里不得不说一下 Spring 框架的强大魅力,Spring 对 IoC 和 AOP 的操作可谓前无 古人。 本文主要利用 IoC 和 AOP 的概念,解决层与层之间的依赖关系以及重复业务的处 理。 1.11.1 研究背研究
3、背景景 上世纪末与本世纪初,J2EE 开始盛行,主要归功于它对中间层概念提出了系统性 标准。但事实上,它并没有取得实质性的成功,原因主要是因为不管从其效率、难度 还是性能上来讲都不孚众望。 在 J2EE 早期阶段,都是利用 EJB 技术来开发 J2EE 应用的。但是,对于 EJB,其 学习成本非常高也难于理解,而且要想应用 EJB 技术也是相当困难的。因为 EJB 强制 程序员必须依照它的规范去继续各种不同的接口,这样便会导致代码冗余及相似。此 外对于其配置既是纷繁复杂又是味同嚼蜡。对于使用 JNDI 查找对象也是如此。虽然 xdoclet 的应运而生和缓了其中部分的开发工作,但是 EJB 存
4、在的各大问题都造成了 对其使用的不方便性。随着 Java 语言的发展,AOP 和 IoC 等技术的逐渐成熟,一种新 的 J2EE 解决方案应运而生,即轻量级框架。 1 本科毕业设计说明书(论文)本科毕业设计说明书(论文) 第 2 页 共 28 页 1.21.2 研究平台研究平台 本文主要是基于 Eclipse 平台,使用 Java 语言编写 IoC 和 AOP 的实现程序。 1.2.1 Java 语言 Java 是一种面向对象的,由 Sun 公司开发的程序设计语言,具体研发是 James Gosling 及其同事,在上世纪 90 年代末正式推出。Java 的强大之处在于其跨平台性, 可在不同操
5、作系统上编写应用软件。Java 语言不同于其他编程语言,其优势主要体现 在它具有通用、高效、安全等优点。而且该语言的应用领域也极其广泛。在微型电脑、 数据中心、超级计算机以及各种网页应用等都能见到 Java 的身影。虽然 Java 的编程 风格与之 C、C+非常接近,但与 C 语言不同的是,Java 是完全的面相对象,对于 C+ 核心的面向对象技术它也是完美的继承了。同时,Java 一改 C 中指针的概念,取而代 之的是引用的概念。 同时也摒弃了 C 中运算符重载和多继承等特征。 在此基础上, Java 也增加了自己的新特性,就是垃圾回收机制,对于不再引用而又一直在内存中的引用 进行回收处理。
6、程序员也从中得益而不用手动进行内存管理。 1.2.2 Eclipse Eclipse 是一个开源的软件开发工具,同时也是功能完备,能进行商用的工业开 发平台。 主要组成为 Eclipse 项目、 工具项目、 技术项目, 具体是指 Eclipse Platform, JDT,CDT,PDE。其中,Eclipse Platform 是可扩展的集成开发环境;JDT 是 Java 开 发工具,主要用于 Java 开发;CDT 是 C 语言开发工具,主要用于 C 开发;PDE 则是对 插件的开发。Eclipse 为构建 IDE 和建造块建立坚实的基础。对于 Eclipse Platform, 它允许第三方工具的无缝对接,从而起到无须辨别具体工具的功能体现在哪里的作 用。 2 2 IoCIoC 和和 AOPAOP 2.12.1 IoCIoC(控制反转)(控制反转) IoC,英文全称为 Inversion of Control,及控制反转,主要用于降低程序间的 耦合度。控制反转一般分为两种类型,依赖注入(Dependency Injection,简称 DI) 和依赖查找(Dep