首页 > 其他 > 详细

桥接模式

时间:2018-05-31 13:12:30      阅读:236      评论:0      收藏:0      [点我收藏+]

桥接模式:将抽象与实现分离,实现面向接口编程。

场景:面向接口编程,例如,三层架构中的DAL与BLL的引用可以使用桥接模式实现,修改DAL时,BLL中的逻辑不需要改变

UML图:

技术分享图片

示例代码:

    public interface IBaseDAL
    {
        void Insert();
    }
    public class UserDAL:IBaseDAL
    {
        public void Insert()
        {
            Console.WriteLine("插入User");
        }
    }
    public class MenuDAL:IBaseDAL
    {
        public void Insert()
        {
            Console.WriteLine("插入Menu");
        }
    }
    public interface IBaseBLL
    {
        IBaseDAL baseDal { get; set; }
        void SetCurrentDal(IBaseDAL BaseDal);
        void InsertOne();
    }
  public class UserBLL : IBaseBLL
    {
        public UserBLL(IBaseDAL BaseDal)
        {
            SetCurrentDal(BaseDal);
        }

        public IBaseDAL baseDal { get; set; }
        public void SetCurrentDal(IBaseDAL BaseDal)
        {
            this.baseDal = BaseDal;
        }

        public void InsertOne()
        {
            baseDal.Insert();
        }
    }
    public class MenuBLL:IBaseBLL
    {
        public MenuBLL(IBaseDAL BaseDal)
        {
            this.baseDal = BaseDal;
        }

        public IBaseDAL baseDal { get; set; }
        public void SetCurrentDal(IBaseDAL BaseDal)
        {
            this.baseDal = BaseDal;
        }

        public void InsertOne()
        {
            this.baseDal.Insert();
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            IBaseBLL user = new UserBLL(new UserDAL());
            user.InsertOne();

            IBaseBLL menu = new MenuBLL(new MenuDAL());
            menu.InsertOne();
        }
    }

 

桥接模式

原文:https://www.cnblogs.com/chenyishi/p/9116143.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!