I'm trying to understand the age old facade vs adapter confusion. Most languages and frameworks have a data access library designed for RDBMs. In the case of the examples provided above you have a connection interface, and one connection type for each driver type. All of these types besides ODBC have a ODBC connection type.Is it correct to assume that these connections are all adapters and not facades? Is it also correct to assume that the bridge type connections e.g. the Ado.NET Odbc connection object and the Jdbc->Odbc bridge are also facades and not adapters,
Relating Adapter vs facade to Doctrine DBAL, ODBC, JDBC, and ADO.NET
design patterns
Yes concrete connection types in each of these frameworksConcretely each connection type implements a connection interface and possibly inherits from an abstract connection classConceptually, because we are not attempting to simplify the APIs of each RDBMS. If anything, the data access layers are made more complex by the fact that they are completely open to the incompatibilities of the various RDBMS systems. They are designed to pass or generate SQL between your application and any RDBMS.In the case of the ODBC bridges, once again these are adapters and not facades. The purpose isn't to simplify the complexities of ODBC. The purpose is to make the ODBC connection adhere to the ADO.NET or JDBC contracts.