好文档 - 专业文书写作范文服务资料分享网站

实验室设备管理系统毕业设计

天下 分享 时间: 加入收藏 我要投稿 点赞

实验室设备管理系统―设备出入库管理模块

图 2-3 抽象工厂模式

Figure 2-3 Abstract Factory Pattern

实现要点:

? 抽象工厂将产品对象的创建延迟到它的具体工厂的子类。

? 如果没有应对“多系列对象创建”的需求变化,则没有必要使用抽象工

厂模式,这时候使用简单的静态工厂完全可以。

? 系列对象指的是这些对象之间有相互依赖、或作用的关系,例如游戏开

发场景中的“道路”与“房屋”的依赖,“道路”与“地道”的依赖。 ? 抽象工厂模式经常和工厂方法模式共同组合来应对“对象创建”的需求

变化。

? 通常在运行时刻创建一个具体工厂类的实例,这一具体工厂的创建具有

特定实现的产品对象,为创建不同的产品对象,客户应使用不同的具体工厂。

? 把工厂作为单件,一个应用中一般每个产品系列只需一个具体工厂的实

例,因此,工厂通常最好实现为一个单件模式。

? 创建产品,抽象工厂仅声明一个创建产品的接口,真正创建产品是由具

体产品类创建的,最通常的一个办法是为每一个产品定义一个工厂方

7

计算机与信息科学学院 计算机科学与技术

实验室设备管理系统―设备出入库管理模块

法,一个具体的工厂将为每个产品重定义该工厂方法以指定产品,虽然这样的实现很简单,但它却要求每个产品系列都要有一个新的具体工厂子类,即使这些产品系列的差别很小。 优点:

? 分离了具体的类。抽象工厂模式帮助你控制一个应用创建的对象的类,

因为一个工厂封装创建产品对象的责任和过程。它将客户和类的实现分离,客户通过他们的抽象接口操纵实例,产品的类名也在具体工厂的实现中被分离,它们不出现在客户代码中。

? 它使得易于交换产品系列。一个具体工厂类在一个应用中仅出现一次—

—即在它初始化的时候。这使得改变一个应用的具体工厂变得很容易。它只需改变具体的工厂即可使用不同的产品配置,这是因为一个抽象工厂创建了一个完整的产品系列,所以整个产品系列会立刻改变。 ? 它有利于产品的一致性。当一个系列的产品对象被设计成一起工作时,

一个应用一次只能使用同一个系列中的对象,这一点很重要,而抽象工厂很容易实现这一点。 缺点:

? 难以支持新种类的产品。难以扩展抽象工厂以生产新种类的产品。这是

因为抽象工厂接口确定了可以被创建的产品集合,支持新种类的产品就需要扩展该工厂接口,这将涉及抽象工厂类及其所有子类的改变。

2)外观模式(Facade Pattern)

意图:为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 使用场合:

? 当你要为一个复杂子系统提供一个简单接口时。子系统往往因为不断演

化而变得越来越复杂。大多数模式使用时都会产生更多更小的类。这使得子系统更具可重用性,也更容易对子系统进行定制,但这也给那些不需要定制子系统的用户带来一些使用上的困难。Facade可以提供一个简单的缺省视图,这一视图对大多数用户来说已经足够,而那些需要更多的可定制性的用户可以越过Facade层。

8

计算机与信息科学学院 计算机科学与技术

实验室设备管理系统―设备出入库管理模块

? 客户程序与抽象类的实现部分之间存在着很大的依赖性。引入Facade 将

这个子系统与客户以及其他的子系统分离,可以提高子系统的独立性和可移植性。

? 当你需要构建一个层次结构的子系统时,使用Facade模式定义子系统中每

层的入口点。如果子系统之间是相互依赖的,你可以让它们仅通过Facade 进行通讯,从而简化了它们之间的依赖关系。 外观模型图如图2-4所示:

图 2-4 外观模式

Figure 2-4 Facade Pattern

实现要点:

? Facade模式对客户屏蔽了子系统组件,因而减少了客户处理的对象的数目并

使得子系统使用起来更加方便。

? Facade模式实现了子系统与客户间的松耦合关系,而子系统内部的功能组件

往往是紧耦合的。松耦合关系使得子系统的组件变化不会影响到它的客户。 ? 如果应用需要,它并不限制它们使用子系统类。因此你可以在系统易用性与

通用性之间选择。 2.3 AJAX

2.3.1 AJAX概述

ASP.NET AJAX是一种实现异步(Asynchronous)网络应用的技术,是ASP.NET的一种扩展技术。通过ASP.NET技术,开发人员可以将WEB服务器控件和客户端脚本结合起来,并在此基础上实现WEB页面的局部更新功能。

9

计算机与信息科学学院 计算机科学与技术

实验室设备管理系统―设备出入库管理模块

AJAX是Asynchronous JavaScript and XML(异步JavaScript和XML)的缩写,它是一种创建交互式网页应用的网页开发技术。其实AJAX并不是一种新技术,它只是由JavaScript、XML、XSLT、CSS、DOM 和XMLHttpRequest 等多种技术组成的。

在AJAX中,XMLHttpRequest是其最核心的技术,该对象由浏览器中的JavaScript 创建,负责在后台以异步的方式让客户端连接到服务器。它为页面中的JavaScript 脚本提供了一种通讯方式,从而使得页面通过这些脚本能够与服务器发生交互。页面内的JavaScript脚本可以再不刷新页面的情况下与服务器进行交互,即页面可以从服务器提交数据。AJAX技术与传统的WEB技术相比,存在以下三个主要区别:

? 能够更新页面中的部分内容,不需要刷新整个页面就能够与服务器通信。 ? 页面与服务器的直接通讯可以使用异步操作,从而不需要打断用户的操

作,使得页面具有更加快速的响应能力。

? 由于页面与服务器交互时,只需要页面的部分内容,因此减少了页面与

服务器的通讯量,提高了应用程序的效率。

ASP.NET AJAX包括服务器端部分和客户端部分。其中,ASP.NET AJAX服务器端部分提供了5个服务器端控件,通过这些控件,开发人员可以轻松实现异步网页和一个无刷新的WEB环境。ASP.NET AJAX服务器端部分提供的5个服务器端控件如图2-5所示:

图 2-5 ASP.NET AJAX服务端控件

Figure 2-5 ASP.NET AJAX Service Controls

? ScriptManager控件:管理页面的脚本。 ? ScripManagerProxy控件:管理页面的脚本。

? UpdatePanel控件:和ScriptManager控件共同提供了一个无刷新的WEB

环境。

? Timer控件:定时器,它能定时触发用户自定义的操作。

10

计算机与信息科学学院 计算机科学与技术

实验室设备管理系统―设备出入库管理模块

? UpdateProgress控件:显示整个或部分页面更新的过程。 ASP.NET AJAX服务器端的架构如表2-2所示。 ASP.NET AJAX服务器端控件 ASP.NET AJAX服务器端扩展控件 ASP.NET 框架 表 2-2 ASP.NET AJAX服务端架构

ASP.NET AJAX客户端脚本 ASP.NET AJAX WEB服务 Table 2-2 ASP.NET AJAX Server Architecture

ASP.NET AJAX客户端的架构如表2-3所示。

客户端组件或控件 ASP.NET AJAX基础框架/网络基础 表 2-3 ASP.NET AJAX客户端架构

Table 2-3 ASP.NET AJAX Client Architecture

各个部分具体说明如下:

? 客户端组件或控件:主要包括处理和封装客户端控件的类或组件,使得开发

人员能够轻松和方便地使用这些控件。

? ASP.NET AJAX基础框架/网络基础:主要包括ASP.NET AJAX中与客户端相

关的基础功能。

2.3.2 ASP.NET AJAX Control Toolkit介绍

ASP.NET AJAX Control Toolkit是在ASP.NET AJAX基础之上构建的,是由社区和 Microsoft 共同开发的一个 ASP.NET AJAX 扩展控件包,其中包含了数十种基于 ASP.NET AJAX 的、提供某一专一功能的服务端控件。构建在 ASP.NET 2.0 AJAX Extensions 之上,志在成为最大、最好的可用 Web 应用程序的组件集合。ASP.NET AJAX Control Toolkit是一个免费资源,它被微软ASP.NET官方网站所支持。

ASP.NET AJAX Control Toolkit 解决了三个需要。首先,使网站开发人员有地方获取组件以更容易的构建他们的 Web 应用程序;第二,它给那些要编写客户端代码的开发人员一个强大的示例集;第三,它是一个使最好的脚本开发人员使工作更加突出的地方。

ASP.NET AJAX Control Toolkit控件图示如图2-6所示:

11

计算机与信息科学学院 计算机科学与技术

实验室设备管理系统毕业设计

实验室设备管理系统―设备出入库管理模块图2-3抽象工厂模式Figure2-3AbstractFactoryPattern实现要点:?抽象工厂将产品对象的创建延迟到它的具体工厂的子类。?如果没有应对“多系列对象创建”的需求变化,则没有必要使用抽象工厂模式
推荐度:
点击下载文档文档为doc格式
0jzfc23rjh1od1e2lms547le14lox100wgh
领取福利

微信扫码领取福利

微信扫码分享