《設計模式 ● 中介者》之業務場景

/**************************************************************************************************
** 模式的初衷,無非是爲我們經常出現問題的業務邏輯或系統結構提供好的解決方案,不論
** 是高層的還是較低層次的;而應用模式的主要工作則是模式識別,能將單一或複合的模式
** 結合項目自身的業務特性放在適當的場景中,則需要努力追求和不斷積累。
************************************************************************************************/

 

      中介者:用一箇中介對象來封裝一系列的對象交互,中介者使各對象不需要顯式相互引用,從而使得耦合鬆散,可以獨立改變相互之間的交互。

      對於中介者,個人一般傾向與,在調用外部接口時結合適配器進行接口包裝或在發送外部接口消息時,這樣在接入外部諸多應用時,擴展&管理都很方便,另外通過同一個中介者,採用不同的協作者來完成不同的業務。


§ 場景1

       將不同業務類信息在特定階段發送到風控App

 

       示例代碼: http://download.csdn.net/download/webwalker/7470359

       調用:

	//risk sender
	RiskMgr mgr = new RiskMgr(new RiskSender());
	mgr.SendCard(new RiskControlPayment<SinglePaymentCard>
	{
		IsSameBank = req.IsSameBank,
		Amount = req.PayOrderAmount,
		FeeAmount = req.PayFeeAmount,
		RequestTime = request.withdrawOrder.gmtBizInitiate,
		PayStatus = req.PayStatus,
		Remark = req.Remark,
		CheckPoint = Sdo.Payment.MCS.Common.Consts.CheckPoint.Request,
		ClientIP = req.ClientIP,
		PaymentObject = req
	});

    public class RiskMgr
    {
        RiskControlMediator mediator = new RiskControlMediator();
        ISender Sender = null;
        public RiskMgr(ISender sender)
        {
            Sender = sender;
        }

        public void SendCard(object data)
        {
            try
            {
                RiskCardColleague colleague = new RiskCardColleague(mediator);
                LogHelper.Info("SendCard:" + data.GetObjectDetails("|"));
                colleague.DoAction(data);
            }
            catch (System.Exception ex)
            {
                LogHelper.Error("RiskSender SendCard:", ex);
            }
        }
     }

§ 場景2

調用遠程接口完成特定業務

 

       示例代碼:http://download.csdn.net/download/webwalker/7470359

       調用:

                FosMediator mediator = new FosMediator();
                SingleAccountColleague colleague = new SingleAccountColleague(mediator);
                colleague.DoAction(payment);

      

§ 場景3

見:http://blog.csdn.net/webwalker/article/details/5305174




§ 場景4



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章