簡單工廠類是常用的設計模式,大家也不陌生,簡單講解一下,我認為的好處,1.松耦合 2.可以擴展 3.可復用,具體解釋按代碼解釋
設計模式圖:
工廠類SportFactory,抽象類Sports,實現類Football、Basketball
1.松耦合 體現在Football、Basketball每個對象都是獨立管理自己內部,需要的時候,通過工廠類,而不是直接耦合Football、Basketball任何一個類
2.擴展性 體現在如果要打排球、只要添加一個類繼承Sports實現playSports這個方法,外部使用上還是工廠生成類,執行playSport方法,具體實現,底層設計去實現,使用方無需關心。
3.可復用性,Sports這個類的方法可以一直復用,使用端不需要調basketBall的playSports方法。
具體各個類代碼如下:
Sport類
public abstract class Sports { //運動 abstract void playSports();}basketball 類public class Basketball extends Sports{ @Override void playSports() { // TODO Auto-generated method stub System.out.PRintln("打籃球"); }}football類public class Football extends Sports{ @Override void playSports() { // TODO Auto-generated method stub System.out.println("踢足球"); } }SportsFactory工廠類public class SportsFactory { Sports sports = null; public Sports CreateSports(String type) { switch (type) { case "Football": sports = new Football(); break; case "Basketball": sports = new Basketball(); default: break; } return sports; }}SportsTest測試類
public class SportsTest { public static void main(String[] args) { Sports sports = new SportsFactory().CreateSports("Football"); sports.playSports(); Sports sports1 = new SportsFactory().CreateSports("Basketball"); sports1.playSports(); }}
新聞熱點
疑難解答