Bridge模式
我要用36种蜡笔
(http://www.niufish.com/books/Pattern/com/niufish/pattern/bridge/package-use.html)
代码如下:
简单之极,以至于我觉得没有必要给出代码。但是第一次写文章,总要给大家留点好印象。
public class FileEditable implements Editable {
Editor editor;
String filePath;
public FileEditable(Editor editor, String filePath) {
this.editor = editor;
this.filePath = filePath;
}
public void open() {
editor.openFile(filePath);
}
}
虽然我前面已经说了,Abstraction和Implementor的聚合关系可以由派生类RefinedAbstraction和Implementor的聚合关系代替,为了与经典模式类图保持尽量的相似,以便大家容易理解,我们还是在StringEditable和FileEditable上面加了一层:EditableImpl。
好了,我们已经实现了Bridge模式。不过这里面还是有一点让人不舒服的地方,就是Editor中包含的两个方法,实际上对应了两种Editable。也许是这个例子举的不好。但是《设计模式 explained》中的例子和本例大同小异。
设计模式速查,很不错