本篇博客来简要的讲解下创造者模式
- 创造者模式原理
- 创造者模式适用场景
- 代码示例
原理介绍:
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。在用户不知道对象的建造过程和细节的情况下就可以直接创建复杂的对象。用户只需要给出指定复杂对象的类型和内容 建造者模式负责按顺序创建复杂对象(把内部的建造过程和细节隐藏起来)。
适用场景:
需要生成的产品对象有复杂的内部结构,这些产品对象具备共性;
隔离复杂对象的创建和使用,并使得相同的创建过程可以创建不同的产品。
代码示例:
package moshi.gunanyi.com.建造者模式;
/**
* 建造者模式
* @author Administrator
*
*/
public class User {
//下面是“一堆”的属性
private String name;
private String nickName;
private String password;
private int age;
//构造方法私有化,不然客户端就会直接调用构造方法了
private User(String name,String password,String nickName,int age) {
this.name = name;
this.password = password;
this.nickName = nickName;
this.age =age;
}
//静态方法,用于生成一个Builder,这个不一定要有,不过写这个是一个很好的喜欢
public static UserBuilder builder() {
return new UserBuilder();
}
public static class UserBuilder{
//下面是和User一模一样