桥接模式
Posted chester.chen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了桥接模式相关的知识,希望对你有一定的参考价值。
桥接模式:将抽象与实现分离,实现面向接口编程。
场景:面向接口编程,例如,三层架构中的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(); } }
以上是关于桥接模式的主要内容,如果未能解决你的问题,请参考以下文章