NBA之建造者模式
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 {public String name() {return "Curry";}}public class Durant implements Player {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());}}復制代碼轉載于:https://juejin.im/post/5a378173f265da432c23f32c
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
- 上一篇: Node.js 开发技能图谱
- 下一篇: iOS XIB等比例适配