23种设计模式UML类图及对应示例代码Word格式文档下载.docx

上传人:b****5 文档编号:16150345 上传时间:2022-11-21 格式:DOCX 页数:53 大小:316.02KB
下载 相关 举报
23种设计模式UML类图及对应示例代码Word格式文档下载.docx_第1页
第1页 / 共53页
23种设计模式UML类图及对应示例代码Word格式文档下载.docx_第2页
第2页 / 共53页
23种设计模式UML类图及对应示例代码Word格式文档下载.docx_第3页
第3页 / 共53页
23种设计模式UML类图及对应示例代码Word格式文档下载.docx_第4页
第4页 / 共53页
23种设计模式UML类图及对应示例代码Word格式文档下载.docx_第5页
第5页 / 共53页
点击查看更多>>
下载资源
资源描述

23种设计模式UML类图及对应示例代码Word格式文档下载.docx

《23种设计模式UML类图及对应示例代码Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《23种设计模式UML类图及对应示例代码Word格式文档下载.docx(53页珍藏版)》请在冰豆网上搜索。

23种设计模式UML类图及对应示例代码Word格式文档下载.docx

DoFactory.GangOfFour.Abstract.Structural

{

/// 

<

summary>

MainApp 

startup 

class 

for 

Structural

Abstract 

Factory 

Design 

Pattern.

/summary>

MainApp

Entry 

point 

into 

console 

application.

public 

static 

void 

Main()

// 

factory 

#1

AbstractFactory 

factory1 

new 

ConcreteFactory1();

Client 

client1 

Client(factory1);

client1.Run();

#2

factory2 

ConcreteFactory2();

client2 

Client(factory2);

client2.Run();

Wait 

user 

input

Console.Read();

}

"

AbstractFactory"

abstract 

AbstractFactory

AbstractProductA 

CreateProductA();

AbstractProductB 

CreateProductB();

ConcreteFactory1"

ConcreteFactory1 

:

override 

CreateProductA()

return 

ProductA1();

CreateProductB()

ProductB1();

ConcreteFactory2"

ConcreteFactory2 

ProductA2();

ProductB2();

AbstractProductA"

AbstractProductA

AbstractProductB"

AbstractProductB

Interact(AbstractProductA 

a);

ProductA1"

ProductA1 

ProductB1"

ProductB1 

a)

Console.WriteLine(this.GetType().Name 

interacts 

with 

a.GetType().Name);

ProductA2"

ProductA2 

ProductB2"

ProductB2 

Client"

the 

interaction 

environment 

of 

products

Client

private 

AbstractProductA;

AbstractProductB;

Constructor

Client(AbstractFactory 

factory)

factory.CreateProductB();

factory.CreateProductA();

Run()

AbstractProductB.Interact(AbstractProductA);

2.DoFactory.GangOfFour.Adapter.Structural

Adapter:

将一个类的接口转换成客户希望的另一个接口,使得原来由于接口不兼容而不能一起工作的那些类可以一起工作。

适配器(变压器)模式:

把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口原因不匹配而无法一起工作的两个类能够一起工作。

适配类可以根据参数返还一个合适的实例给客户端。

DoFactory.GangOfFour.Adapter.Structural

Adapter 

Create 

adapter 

and 

place 

request

Target 

target 

Adapter();

target.Request();

user

Target"

Target

virtual 

Request()

Console.WriteLine("

Called 

Request()"

);

Adapter"

Adaptee 

adaptee 

Adaptee();

Possibly 

do 

some 

other 

work

then 

call 

SpecificRequest

adaptee.SpecificRequest();

Adaptee"

Adaptee

SpecificRequest()

SpecificRequest()"

3.DoFactory.GangOfFour.Bridge.Structural

Bridge:

将抽象部分与它的实现部分分离,使之可以独立变化。

桥梁模式:

将抽象化与实现化脱耦,使得二者可以独立的变化,也就是说将他们之间的强关联变成弱关联,也就是指在一个软件系统的抽象化和实现化之间使用组合/聚合关系而不是继承关系,从而使两

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 哲学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1