设计模式之建造者模式
来源:互联网 发布:linux 关闭防火墙 编辑:程序博客网 时间:2024/06/05 18:20
- 模式定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示
- 模式的使用场景:
- 相同的方法,不同的执行顺序,产生不同的事件结果时
- 多个部件或零件,都可以装配到一个对象中,但是产生的运行结果又不相同时
- 产品类非常复杂,或者产品类中的调用顺序不同产生了不同的效能,这个时候使用Builder模式非常合适
- Android源码中的模式实现
- 在Android源码中,我们最常用的Builder模式就是AlertDialog.Builder,使用使用该Builder来构建复杂的AlertDialog对象。示例如下:
//显示基本的AlertDialog
private void showDialog(Context context){
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setIcon(R.drawable.icon);
builder.setTitle("Title");
builder.setMessage("Message");
builder.setPositiveButton("Button1",new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog,int whichButton){
setTitle("点上了对话框上的Button1");
}
});
builder.setNeutralButton("Button2",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
setTitle("点击了对话框上的Button2");
}
});
builder.setNegativeButton("Button3",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
setTitle("点击了对话框上的Button3");
}
});
builder.create().show(); //构建AlertDialog,并且显示
}
具体样式点击一下链接查看
http://www.cnblogs.com/Gaojiecai/archive/2011/12/10/2283156.html
- 优点
- 良好的封装性,使用Builder模式可以使客户端不必知道产品内部组成的细节
- 建造者独立,易扩展
- 缺点
- 会产生多余的Builder对象以及Director对象,消耗内存
- 对象的构建过程暴露
0 0
- 设计模式之建造者
- 设计模式 之 建造者
- 设计模式之建造者
- 设计模式之建造者模式
- 设计模式之建造者模式
- 五 设计模式之建造者模式
- 设计模式之建造者模式
- C# 设计模式之 建造者模式
- 【设计模式】之 Builder 建造者模式
- 设计模式之建造者模式学习
- 设计模式之建造者模式
- 设计模式笔记之---建造者模式
- 设计模式之建造者模式
- 设计模式之建造者模式
- 设计模式之建造者模式
- java设计模式之建造者模式
- 设计模式之建造者模式
- java设计模式之建造者模式
- tensorflow笔记:多层LSTM代码分析
- Exception raised during rendering: java.lang.System.arraycopy([CI[CII)V
- mark.vim
- android EditText隐藏软件盘
- Spring的依赖注入(控制反转)的理解
- 设计模式之建造者模式
- android更新源
- android5.0: ?Unsupported major.minor version 51.0?
- "Running Android Lint" has encountered a problem.
- HANOI数学归纳法
- 关于Android中ANR的一些思考
- Java中System.loadLibrary() 的执行过程
- windows 7 RDP 增强
- 求一个数组中连续子数组的最大乘积