Bridge模式解耦,其实施的定义。它是一种结构模式。本模式涉及充当桥的接口。这座桥使具体的类独立的接口实施者类。
Bridge模式解耦,其实施的定义。它是一种结构模式。
本模式涉及充当桥的接口。这座桥使具体的类独立的接口实施者类。
这两种类型的类可以在不影响彼此被改变。
实例:
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
|
interface Printer {
public void print( int radius, int x, int y);
} //from www.j a v a2 s . c om
class ColorPrinter implements Printer {
@Override
public void print( int radius, int x, int y) {
System.out.println( "Color: " + radius + ", x: " +x+ ", " + y + "]" );
}
}
class BlackPrinter implements Printer {
@Override
public void print( int radius, int x, int y) {
System.out.println( "Black: " + radius + ", x: " +x+ ", " + y + "]" );
}
}
abstract class Shape {
protected Printer print;
protected Shape(Printer p){
this .print = p;
}
public abstract void draw();
}
class Circle extends Shape {
private int x, y, radius;
public Circle( int x, int y, int radius, Printer draw) {
super (draw);
this .x = x;
this .y = y;
this .radius = radius;
}
public void draw() {
print.print(radius,x,y);
}
}
public class Main {
public static void main(String[] args) {
Shape redCircle = new Circle( 100 , 100 , 10 , new ColorPrinter());
Shape blackCircle = new Circle( 100 , 100 , 10 , new BlackPrinter());
redCircle.draw();
blackCircle.draw();
}
}
|
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!