游戏设计模式学习笔记(13)桥接模式
参考:
《设计模式与游戏完美开发》
《游戏编程模式》(https://github.com/tkchu/Game-Programming-Patterns-CN)
《图说设计模式( Graphic Design Patterns)》(https://github.com/me115/design_patterns)
【游戏设计模式】浅墨_毛星云: https://blog.csdn.net/poem_qianmo/article/details/53240330
runoob.com 设计模式:https://www.runoob.com/design-pattern/mediator-pattern.html
定义
- 将抽象与实现分离,使二者可以独立地变化。
- 将两个群组有效分离。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FrhojMTA-1570284794703)(E:\csdn博客使用图片\DesignPatterns\016.png)]
- Abstraction:抽象类,拥有指向Implementor的对象引用。定义抽象功能接口,也可以作为子类调用功能的接口。
- RefinedAbstraction:扩充抽象类,调用Implementor实现功能。
- Implementor:实现类接口,定义实现功能的接口,提供给Abstraction使用,选择由Abstraction的需求组合应用。
- ConcreteImplementor:具体实现类
应用
- 不同图形用不同图形API绘制:
public class BridgePatternDemo {
public static void main(String[] args) {
Shape redCircle = new Circle(100,100, 10, new RedCircle());
Shape greenCircle = new Circle(100,100, 10, new GreenCircle());
redCircle.draw();
greenCircle.draw();
}
}
// 输出
Drawing Circle[ color: red, radius: 10, x: 100, 100]
Drawing Circle[ color: green, radius: 10, x: 100, 100]
- 不同角色用不同武器。