Build模式
来源:互联网 发布:直播破解软件 编辑:程序博客网 时间:2024/06/15 09:27
安卓有多少设计模式呢,答案是23种设计模式。今天主要是对Build模式,进行分析。
什么是Buid模式呢,定义是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
定义就一句话,当了解完Buid模式,你就会明白这是对这个模式最好的理解了。当然我们需要有个例子出来就有更好的理解。我也是这么来学的。通过看例子,然后再对这句话重新理解,就会有深的体会。
Buid模式的使用是很多的,在我们的生活中,比如生产汽车,汽车会有轮胎,座位,发动机,方向盘各个部件。如果将这些部件组装成汽车会很漫长,也很复杂,对于这种,为了构建过程对外隐藏细节,使用buid模式将部件和组装过程分离。也就是部件一部分,组装过程一部分,各自能够扩张,但两者的耦合降到最低。
下面的例子直接复制到开发工具,即可运行,可以加深你的理解
public class TestClient {
public static void main(String[] args) {
TestClient testClient = new TestClient();
Bike bike = testClient.new Bike();
BikeBuilder builder = testClient.new ConcreteBikeBuilder();
BikeDirector director = testClient.new BikeDirector();
director.createBike(builder);
bike = builder.getBike();
System.out.println("车子信息:"+bike.toString());
}
public class Bike {
//自行车车架数量
int frameNumber;
//自行车轮子数量
int wheelNumber;
public Bike(){
frameNumber = 1;
wheelNumber = 2;
}
public int getFrameNumber() {
return frameNumber;
}
public int getWheelNumber() {
return wheelNumber;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return "自行车"+"[车架="+getFrameNumber()+",轮子="+getWheelNumber()+"]";
}
}
public abstract class BikeBuilder {
//构建bike的框架
public abstract void BuildFrame(int frameNumber);
//构建bike的轮子
public abstract void BuildWheels(int wheelNumber);
//获取构建好的完整的产品
public abstract Bike getBike();
}
/**
*
*构建自行车的各个部件
*/
public class ConcreteBikeBuilder extends BikeBuilder {
Bike bike;
public ConcreteBikeBuilder(){
bike = new Bike();
}
@Override
public void BuildFrame(int frameNumber) {
bike.frameNumber = frameNumber;
}
@Override
public void BuildWheels(int wheelNumber) {
bike.wheelNumber = wheelNumber;
}
@Override
public Bike getBike() {
return bike;
}
}
public class BikeDirector {
public void createBike(BikeBuilder concreteBuilder){
concreteBuilder.BuildFrame(2);
concreteBuilder.BuildWheels(4);
}
}
}
注意: 建造者模式主要用于“分步骤构建一个复杂的对象”,在这其中“分步骤”是一个稳定的算法,而复杂对象的各个部分则经常变化。
这里再提一下,Build模式在安卓中的使用,你也许已经使用过了AlertDialog.build。使用build来构建复杂的AlertDialog。具体的可到源码中查看。
- build 模式
- Build模式
- Build模式
- 生成器模式(Build)
- 生成器模式(Build)
- Java build模式
- android build 模式
- 简单的build模式
- build模式小例子
- java build设计模式
- Build设计模式
- JAVA设计模式 Build 模式
- MVP模式+Build模式+Observe模式
- Java的建造模式(Build)
- 建造者(build)模式
- JavaBean构造使用Build模式
- build模式的第二篇
- 简单模拟Build设计模式
- 一、Processing 数据类型
- scala基础40-ListBuffer、ArrayBuffer、Queue、Stack
- session过期跳转到登陆页面并跳出iframe框架的两个方法
- 欢迎使用CSDN-markdown编辑器
- Android-RecyclerView自定义布局文件
- Build模式
- 第8章 中断
- java回忆录—java的三大特性
- Android 权限 一览表
- excel:使用记录
- JVM体系结构与工作方式
- 架构之美读书笔记[3]---对于破窗理论理解
- CSS学习 | 思维导图
- 路由选择RIP协议解析