I'm sure I asked it somewhere, but most likely was on IRC or on gtalk, so I'll post it here just in case.
/**
* Database driver interface
*/
interface Database
{
/**
* This is used to create a table without worrying about schema compatabilities
* across supported database systems.
*/
abstract class DbTable
{
/**
* Interface methods for database searches
*/
interface DbSearch
{
I like consistency, so 2 interfaces and one abstract class doesn't sound right to me.
On your opinion, is there any reason not to switch the three of them to abstract classes?
I tend to prefer abstract because I can put there some common functions if needed.