ORM包实现Facade或Adapter模式吗?

时间:2011-02-06 14:50:43

标签: design-patterns orm adapter facade

根据我的理解,Adapter模式基本上是在另一个类上创建一个包装器,这样你包装的类就可以被现有的代码使用。外观用于更改整个子系统(因此,如果您正在处理需要5个步骤的复杂绘图API,则可以将它们合并为仅1个方法,作为示例)。那么我的问题是ORM使用哪种模式,还是两种模式?

它们为许多不同的子系统提供单一界面,但我仍然不确定,尽管我倾向于立面模式。

1 个答案:

答案 0 :(得分:1)

对于我所知道的ORM框架,Adapter似乎不是一个关键模式。可以使用立面,例如,在Hibernate / JPA中,只有一个Session / EntityManager接口负责几乎所有事情,可能会在幕后调用许多不同的子系统接口。

然而,还有很多其他模式在起作用。经常使用Factory patterns几乎不用说:-)另一个突出的(至少在Hibernate中)是Proxy,这是懒惰提取的基础。此外:Object Pool(对于数据库连接),Interpreter(对于查询)...列表可以继续。