1. 程式人生 > 實用技巧 >java設計模式-----簡單工廠模式

java設計模式-----簡單工廠模式

1.簡單工廠模式
直接貼圖
1.我建立了一個介面類 Pay 和 兩個 Pay的實現類 Alipay 和 WxPay,一個工廠類
在這裡插入圖片描述
2.Pay 介面類,定義了幾個介面方法,呼叫支付介面和支付回撥和當前的支付型別
在這裡插入圖片描述

3.Alipay 和 WxPay分別實現Pay介面
在這裡插入圖片描述

4.工廠類建立了一個對外的方法,供其他呼叫支付的類使用,工廠類會判斷行參type來返回對應的類物件,以下面main方法為例,main 方法需要建立PayFacotry物件,呼叫工廠方法,並傳實參來完成相應的微信支付或支付寶支付。
在這裡插入圖片描述

5.優缺點不細說,以自己實際業務來決定是否使用,比如前期就兩個支付用這種方式沒問題,後期需要增加其他更多的支付方式,那都需要去用if else 判斷,慢慢的可能工廠類就會變得臃腫。

6.這裡順便說個自己經常使用的做法,可以省了工廠類。大家有看到我在Pay接口裡面定義了一個getPaymentType方法,alipay 和 wxpay 分別返回了自己的型別,然後在PayService直接注入一個payList,型別為Pay,框架會自動把實現了Pay的類放到payList,因此只需要迴圈遍歷payList 呼叫 getPaymentType來處理後續的業務邏輯
在這裡插入圖片描述