提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
本人对于设计模式的学习,仅供参考!
一、构建器Builder
1.定义:
Builder模式是一步一步创建一个复杂对象的创建型模式。该模式将构建复杂对象的过程和它的部件解耦,使得构建过程和部件的表示隔离开来。
2.特点:
1.分离复杂对象的构建和表示。
2.同样的构建过程可以创建不同的表示
3.无需记忆,自然使用
3.应用场景:
1.当对象创建过程比较复杂,或对创建顺序或组合有依赖(经典Builder模式)。
2.当创建对象时所需参数较多,且包含较多可选参数(变种Builder模式)。
二、代码实现
1.经典Builder模式
现有Terrain类,利用构建器模式构建Terrain类。
//地形类
public class Terrain {
Wall w;
Fort f;
Mine m;
}
//墙
class Wall{
int x,y,w,h;
public Wall(int x, int y, int w, int h) {
this.x = x;
this.y = y;
this.w = w;
this.h = h;
}
}
//暗堡
class Fort{
int x,y,w,h;
public Fort(int x, int y, int w, int h) {
this.x = x;
this.y = y;
this.w = w;
this.h = h;
}
}
//地雷
class Mine{
int x,y,w,h;
public