深入理解桥接模式与责任链模式
1. 桥接模式概述
在Scala中,抽象和实现层次结构可以通过一组以单个抽象类为根的Scala类来表示。不过,Scala的特质(traits)为实现桥接模式提供了更简洁的方式。在Scala里,抽象层次结构和实现都可以用特质来表示,这些特质可以在一个具体类中混合在一起,为客户端提供一个可访问的包装器。客户端只需了解所有类型的根(代表正在实现的概念的特质)和/或具体类。
2. 桥接模式的具体示例
以创建一个针对Person对象的数据访问对象(DAO)框架的应用为例。领域实体是 Person 这个case类,该类的实例通过合适的DAO进行持久化。DAO概念使用桥接模式实现,存在由通用DAO和更具体的 PersonDAO 组成的DAO抽象层次结构,以及DAO实现者层次结构。实现者层次结构允许有不同的具体实现,这里提供了一个 InMemoryDAOImplementor ,用于将 Person 对象持久化到内存中(当然也可以基于关系数据库、NoSQL数据库、Hibernate等提供其他实现)。
以下是相关角色和关系的说明:
| 角色 | 说明 |
| ---- | ---- |
| 抽象(Abstraction) | 由通用DAO特质(参数化类型为T)和其子特质 PersonDAO 定义, PersonDAO 指定 Person 类为管理的类型,并通过自类型引用与 DAOImplemen
桥接与责任链模式解析
超级会员免费看
订阅专栏 解锁全文
824

被折叠的 条评论
为什么被折叠?



