构造器模式也可以称之为建造者模式,构造器模式其实在android中使用的比较多,当然在写一些框架或封装一些模块的时候也经常会用到构造器模式。
那么构造器模式适用的场景总结:适用于给定一个基础模板,可以配置多个参数,从而得到不同的结果。也就是说能够在此基础模板的基础上配置自己想要显示的模板样式。
看代码示例:
/** * builder模式 */ public class User { private final String mFirstName; // 必选 private final String mLastName; // 必选 private final String mSex; // 可选 private final int mAge; // 可选 private final String mPhone; // 可选 private User(Builder userBuilder) { this.mFirstName = userBuilder.mFirstName; this.mLastName = userBuilder.mLastName; this.mSex = userBuilder.mSex; this.mAge = userBuilder.mAge; this.mPhone = userBuilder.mPhone; } public String getmFirstName() { return mFirstName; } public String getmLastName() { return mLastName; } public String getmSex() { return mSex; } public int getmAge() { return mAge; } public String getmPhone() { return mPhone; } public static class Builder { private final String mFirstName; // 必选 private final String mLastName; // 必选 private String mSex; // 可选 private int mAge; // 可选 private String mPhone; // 可选 public Builder(String mFirstName, String mLastName) { this.mFirstName = mFirstName; this.mLastName = mLastName; } public Builder sex(String sex) { this.mSex = sex; return this; } public Builder age(int age) { this.mAge = age; return this; } public Builder phone(String phone) { this.mPhone = phone; return this; } public User build() { return new User(this); } } }
public class Main { /* * builder建造者模式(变种的builder模式) */ public static void main(String[] args) { User user = new User.Builder("明天", "后天") .age(22).sex("无") .phone("123456789") .build(); System.out.println(user.getmAge()); } }由于时间关系.......