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. 模式:將物體的構(gòu)建交給builder類 故事場景:NBA每個球隊(duì)都是由球員組成的,我想知道勇士隊(duì)是怎么構(gòu)成的,我只要擁有球隊(duì)建造類暴露的build方法,然后內(nèi)部實(shí)現(xiàn)是隱藏的 我可以吧庫里,杜蘭特等勇士隊(duì),也可以把杜蘭特,威少組等 組成雷霆隊(duì)
杜蘭特 庫里
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";}}復(fù)制代碼Team:用來組成team 與 TeamBuilder:具體組成哪個隊(duì)
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;}}復(fù)制代碼實(shí)驗(yàn)的開始
public class BuilderDemo {public static void main(String[] args) {TeamBuilder teamBuilder = new TeamBuilder();Team team = teamBuilder.warriors();System.out.println(team.getTeamPlayers());}}復(fù)制代碼轉(zhuǎn)載于:https://juejin.im/post/5a378173f265da432c23f32c
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
- 上一篇: Node.js 开发技能图谱
- 下一篇: MySQL按时间查找