相對來講,抽象工廠模式比建造者模式的尺度要大,它關注產品總體,而建造者模式關注構建過程,所以建造者模式能夠很容易地構建出一個嶄新的產品,只要導演類可以提供具體的工藝流程。也正由於如此,二者的應用場景大相徑庭,若是但願屏蔽對象的建立過程,只提供一個封裝良好的對象,則能夠選擇抽象工廠方法模式。而建造者模式能夠用在構件的裝配方面,如經過裝配不一樣的組件或者相同組件的不一樣順序,能夠產生出一個新的對象,它能夠產生一個很是靈活的架構,方便地擴展和維護系統。
狀態模式和策略模式的區別:
它們的UML圖是同樣的,但意圖卻徹底不同,策略模式是讓用戶指定更換的策略算法,而狀態模式是狀態在知足必定條件下的自動更換,用戶沒法指定狀態,最多隻能設置初始狀態。