设计模式---桥接模式

2008年08月15日 星期五 下午 05:23

松耦合

09e79510c02a0e19203f2e7e.jpg

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication1
{
abstract class Vehicle
{
protected Engine e;

public abstract void Show();

public abstract void InstallEngine(Engine e);
}

class RacingCar : Vehicle
{
public override void Show()
{
Console.WriteLine("跑车");
e.Show();
}

public override void InstallEngine(Engine e)
{
this.e = e;
}
}

class Tractor : Vehicle
{
public override void Show()
{
Console.WriteLine("拖拉机");
e.Show();
}

public override void InstallEngine(Engine e)
{
this.e = e;
}
}

abstract class Engine
{
public abstract void Show();
}

class RacingCarEngine : Engine
{
public override void Show()
{
Console.WriteLine("跑车引擎");
}
}

class TractorEngine : Engine
{
public override void Show()
{
Console.WriteLine("拖拉机引擎");
}
}

class Client
{
public static void Main()
{
Vehicle v = new RacingCar();
v.InstallEngine(new RacingCarEngine());
v.Show();

v = new Tractor();
v.InstallEngine(new TractorEngine());
v.Show();

Console.Read();
}
}
}