Design Pattern:
Builder pattern builds a complex object using simple objects and using a step by step approach. This type of design pattern comes under creational pattern as this pattern provides one of the best ways to create an object. 模式:将物体的构建交给builder类 故事场景:NBA每个球队都是由球员组成的,我想知道勇士队是怎么构成的,我只要拥有球队建造类暴露的build方法,然后内部实现是隐藏的 我可以吧库里,杜兰特等勇士队,也可以把杜兰特,威少组等 组成雷霆队
杜兰特 库里
public interface Player {
String name();
}
public class Curry implements Player {
@Override
public String name() {
return "Curry";
}
}
public class Durant implements Player {
@Override
public String name() {
return "Durant";
}
}
Team:用来组成team 与 TeamBuilder:具体组成哪个队
public class Team {
List<Player> team = new ArrayList<>();
public void addPlayer(Player people){
team.add(people);
}
public String getTeamPlayers(){
StringBuilder sb = new StringBuilder();
for (Player people: team){
sb.append(people.name()).append(",");
}
return sb.toString();
}
}
public class TeamBuilder {
public Team warriors(){
Team team = new Team();
team.addPlayer(new Curry());
team.addPlayer(new Durant());
return team;
}
}
实验的开始
public class BuilderDemo {
public static void main(String[] args) {
TeamBuilder teamBuilder = new TeamBuilder();
Team team = teamBuilder.warriors();
System.out.println(team.getTeamPlayers());
}
}