设计模式之桥接模式BridgePattern
BridgePattern
1.概念
将抽象部分与它的实现部分分离,使它们都可以独立地变化。
这个概念有点抽象,桥接顾名思义,通过搭桥的方式让本不想关联的对象互相调用。
可以联想牛郎织女鹊桥会。
2.类图
1). IDAL 与 IBLL两个类相互依赖,具体的实现DAL1(或DAL2)与BLL实现相互独立互不影响。
2).DAL1与BLL关系是通过IDAL与IBLL桥接。从而实现了抽象与实现分离。
3.调用代码
Model md=new Model();
md.ID ="1";
md.Name ="通知单";
BLL objBll = new BLL();
objBll.ObjDAL = new DAL1();//new DAL2()
objBll.Add(md);
4.典型应用
基于数据库的7层架构(著名的PetShop)。
1 | Model实体层 | 基于数据库实体模型 | 数据结构 |
2 | 数据访问层 | 微软企业库实现 | 对数据库操作打开连接,执行SQL,关闭连接 |
3 | IDAL层 | 抽象数据操作层 | 抽象依赖 |
4 | IBLL层 | 抽象业务逻辑层 | |
5 | DAL层 | 具体实现数据操作 | 具体实现分离(增,删,改,查) |
6 | BLL层 | 具体实现业务逻辑 | |
7 | UI层 | 界面展示层 | 展示数据(各种控件应用) |