软件开发技术课程报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件开发技术课程报告班级B090501
学号B09050112
姓名高旭瑞
完成日期2012-12-10
目录
1建造者模式 (1)
1.1定义 (1)
1.2UML图 (1)
1.3角色功能 (2)
2命令模式 (2)
2.1定义 (2)
2.2UML图 (3)
2.3角色功能 (3)
3原型模式 (3)
3.1定义 (3)
3.2UML图 (4)
3.3角色功能 (4)
4状态模式 (4)
4.1定义 (4)
4.2UML图 (5)
4.3角色功能 (5)
5装饰器模式 (5)
5.1定义 (5)
5.2UML图 (6)
5.3角色功能 (6)
6桥接模式 (6)
6.1定义 (6)
6.2UML图 (7)
6.3角色功能 (7)
7适配器模式 (7)
7.1定义 (7)
7.2UML图 (8)
7.3角色功能 (8)
8组合模式 (8)
8.1定义 (8)
8.2UML图 (9)
8.3角色功能 (9)
9中介者模式 (9)
9.1定义 (9)
9.2UML图 (10)
9.3角色功能 (10)
10 抽象工厂模式 (11)
10.1定义 (11)
10.2UML图 (11)
10.3角色功能 (11)
11 简单工厂模式 (12)
11.1定义 (12)
11.2UML图 (12)
11.3角色功能 (12)
1建造者模式
1.1 定义
将一个复杂对象的构建与他的表示分离,使得同样的构建过程可以建造不同的表示
1.2 UML图
1.2.1 多个产品类的情况下的UML图
如果有多个产品类的话,应当有多个具体建造者
1.2.2省略抽象建造者角色
系统中只需要一个具体建造者,省略掉抽象建造者,结构图如下:
1.2.3省略指导者角色
抽象建造者角色已经被省略掉,还可以省略掉指导者角色。让Builder角色扮演指导者与建造者双重角色。结构图如下:
1.2.4合并建造者角色和产品角色
建造者模式失去抽象建造者角色和指导者角色后,可以进一步退化,从而失去具体建造者角色,此时具体建造者角色和产品角色合并,从而使得产品自己就是自己的建造
者。这样做混淆了对象的建造者和对象本身,但是有时候一个对象有着固定的几个零件,而且永远只有这几个零件,此时将产品类和建造类合并,可以使系统简单易读,结构如
下图:
1.3 角色功能
命令模式包含如下角色:
1.3.1 builder:为创建一个产品对象的各个部件指定抽象接口。
1.3.2 ConcreteBuilder:实现Builder的接口以构造和装配该产品的各个部件,定义并明确它所创建的表示,并提供一个检索产品的接口。
1.3.3 Director:构造一个使用Builder接口的对象。
1.3.4 Product:表示被构造的复杂对象。ConcreteBuilder创建该产品的内部表示并定义它的装配过程,包含定义组成部件的类,包括将这些部件装配成最终产品的接口。
2命令模式
2.1定义
将一个请求封装为一个对象,从而使我们可用不同的请求对客户进行参数化;对请求排队或
者记录请求日志,以及支持可撤销的操作。命令模式是一种对象行为型模式,其别名为动作(Action)模式或事务(Transaction)模式。
2.2 UML 图
receiver
Invoker
Command +execute ()...
ConcreteCommand -state : +execute ()...
Receiver +action ()...
Client receiver.action();
2.3 角色功能
命令模式包含如下角色: 2.3.1 Command: 抽象命令类
声明了用于执行请求的execute()等方法,通过这些方法可以调用请求接收者的相关操作 2.3.2
ConcreteCommand: 具体命令类
是抽象命令类的子类,实现了在抽象命令类中声明的方法,它对应具体的接收者对象,将接收者对象的动作绑定其中 2.3.3
Invoker: 调用者
即请求的发送者,又称为请求者,它通过命令对象来执行请求 2.3.4
Receiver: 接收者
执行与请求相关的操作,它具体实现对请求的业务处理
3 原型模式
3.1定义
原型模式就是通过一个原型对象来表明要创建的对象类型,然后用复制这个原型对象的方法来创建更多同类型的对象。
原型模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节。
3.2 UML图
原型模式的一般结构如下:
3.3 角色功能
原型模式包含的角色如下:
3.3.1 客户角色:
客户调用端,客户使用原型对象复制出需要的对象。
3.3.2抽象原型角色:
定义一个原型的抽象定义,其中包含一个复制自身的接口。
3.3.3具体原型角色:
作为原型被复制的具体对象,需实现抽象原型所定义的接口。
3.3.4原型管理器角色:
该角色用于创建具体的原型类对象,并且记录每一个被创建的对象并且把已经创建过的对象保存下来。换句话说就是先创建对象并将其保存下来(由管理器完成)然后利用Clone()方法来创建新对象
4状态模式
4.1 定义
允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。其别名为