設計模式之迪米特法則示例
阿新 • • 發佈:2021-07-31
如一個明星與經紀人的關係例項。明星由於全身心投入藝術,所以許多日常事務由經紀人負責處理,如與粉絲的見面會,與媒體公司的業務洽淡等。這裡的經紀人是明星的朋友,而粉絲和媒體公司是陌生人,所以適合使用迪米特法則,其類圖如圖所示。
程式程式碼如下:
public class LoDtest { public static void main(String[] args) { Agent agent=new Agent(); agent.setStar(new Star("林心如")); agent.setFans(new Fans("粉絲韓丞")); agent.setCompany(new Company("中國傳媒有限公司")); agent.meeting(); agent.business(); } } //經紀人 class Agent { private Star myStar; private Fans myFans; private Company myCompany; public void setStar(Star myStar) { this.myStar=myStar; } public void setFans(Fans myFans) { this.myFans=myFans; } public void setCompany(Company myCompany) { this.myCompany=myCompany; } public void meeting() { System.out.println(myFans.getName()+"與明星"+myStar.getName()+"見面了。"); } public void business() { System.out.println(myCompany.getName()+"與明星"+myStar.getName()+"洽淡業務。"); } } //明星 class Star { private String name; Star(String name) { this.name=name; } public String getName() { return name; } } //粉絲 class Fans { private String name; Fans(String name) { this.name=name; } public String getName() { return name; } } //媒體公司 class Company { private String name; Company(String name) { this.name=name; } public String getName() { return name; } }
程式的執行結果如下:
粉絲韓丞與明星林心如見面了。 中國傳媒有限公司與明星林心如洽淡業務。