【設計模式】工廠模式
阿新 • • 發佈:2021-10-25
解釋
平時我們建立物件的時候都是直接new對應的物件,但是為了安全,可以新加一層介面,裡面定義一個建立物件的方法,但是沒有具體邏輯,而具體的建立的邏輯,可以通過新建類實現介面,重寫建立方法的方式來實現。
定義
定義一個建立物件的介面,讓其子類自己決定例項化哪一個工廠類,工廠模式使其建立過程延遲到子類進行。同時在建立物件時對客戶端隱藏了建立邏輯。這就是工廠模式。
核心
建立過程在子類實現
優點
1.擴充套件性好,想要增加一個產品,直接擴充套件一個工廠類就可以了。
2.安全性好,對客戶端隱藏了具體的建立的實現。
3.操作簡單,呼叫者想要建立物件,只要知道其名字就可以了。
缺點
每次增加一個產品都需要新增一個類,如果產品特別多,會導致程式碼中的類特別多,不易於維護。
使用場景
1.根據傳參不同去訪問不同的資料庫。
2.連線伺服器協議的方式HTTP、IMAP、POP3
3.MQ生產者傳送訊息,不同的生產者其實發送的動作是一樣的。
具體使用描述
1.建立一個工廠介面,裡面定義建立物件的方法。
2.再分別建立兩個工廠類,均實現這個工廠介面,並按照各自的邏輯重寫建立物件的方法。
程式碼實現
public interface BallFactory { public Ball create(); } public class SoccerFactory implementsBallFactory { @Override public Ball create() { //do something return null; } } public class BasketBallFactory implements BallFactory { @Override public Ball create() { //do something return null; } }
其他應用
持續更新!!!