博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
桥接模式
阅读量:4616 次
发布时间:2019-06-09

本文共 1578 字,大约阅读时间需要 5 分钟。

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

场景:面向接口编程,例如,三层架构中的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

你可能感兴趣的文章
hibernate与ibatis的区别
查看>>
jsp自定义标签开发
查看>>
Reorder Point Planning Procedure
查看>>
抽象类和接口的区别
查看>>
输出方式
查看>>
Python程序中的协程操作-greenlet模块
查看>>
Hdu 3395 【最大权值匹配】.cpp
查看>>
RPC框架
查看>>
DNS
查看>>
Winform项目部署
查看>>
React入门---开始前的准备(上)-2
查看>>
说说Kindle那些事
查看>>
HDOJ树形DP专题之Tree Cutting
查看>>
钢笔工具路径描边技巧 课时2:9描边路径的应用
查看>>
从0开始学习 GITHUB 系列之「初识 GITHUB」【转】
查看>>
循环控制
查看>>
分治策略
查看>>
回溯法总结
查看>>
ASP.NET MVC4 学习记录
查看>>
linux shell 语法学习
查看>>