首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

碰到多个构造器参数考虑用构建器(Builder)

2013-01-23 
遇到多个构造器参数考虑用构建器(Builder)如果一个对象带有多个参数,程序员一般采用重叠构造器模式。但是该

遇到多个构造器参数考虑用构建器(Builder)


如果一个对象带有多个参数,程序员一般采用重叠构造器模式。但是该方法的缺点是,如果参数很长,客户端代码不仅很难编写,同时可读性也很差。

第二种替代方案:Java Beans。类中提供一个无参构造方法和对属性的mutator方法。该方法的缺点是容易线程安全问题。

第三种方案就是Builder模式。该方案既保证了重叠构造器模式的安全性,又保证像JavaBeans模式那样好的可读性。

考虑一个例子,一款食物产品通常附属有营养标识,有必须的,也有可选的。比如脂肪,钠,碳水化合物,加路里等。

下面用Builder模式来构造一个营养标识类(NutritionFacts):


new AlertDialog.Builder(context).setTitle("提示").setMessage("网络连接未打开").setPositiveButton("前往打开",new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog,int which) {Intent intent = new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS);startActivity(intent);}}).setNegativeButton("取消", null).create().show();


1楼zhoujielunzhimi昨天 15:44
妙!!!

热点排行