《设计模式 ● 中介者》之业务场景

/**************************************************************************************************
** 模式的初衷,无非是为我们经常出现问题的业务逻辑或系统结构提供好的解决方案,不论
** 是高层的还是较低层次的;而应用模式的主要工作则是模式识别,能将单一或复合的模式
** 结合项目自身的业务特性放在适当的场景中,则需要努力追求和不断积累。
************************************************************************************************/

 

      中介者:用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式相互引用,从而使得耦合松散,可以独立改变相互之间的交互。

      对于中介者,个人一般倾向与,在调用外部接口时结合适配器进行接口包装或在发送外部接口消息时,这样在接入外部诸多应用时,扩展&管理都很方便,另外通过同一个中介者,采用不同的协作者来完成不同的业务。


§ 场景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



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值