C'è questa classe principale
e ci sono diversi servizi (che usano la connessione db per recuperare i dati)
Questi servizi sono inizializzati nella classe principale le proprietà db sono ottenute dal file delle proprietà e quindi
dbconnection viene aperto chiamando un metodo dbOpen () scritto nella classe principale e l'oggetto di connessione risultante viene impostato sugli oggetti di servizio eseguendo l'iterazione attraverso l'elenco di servizi e chiamando il metodo setConnection sul servizio
   note: that the services are instantiated in the main class and the main class is not a superclass for services.    
 Devo anche menzionare che esiste questo scenario di   recycle db connection    di cui solo la classe principale è a conoscenza. 
/** connects to DB, optionally recycling existing connection), 
     * throws RuntimeException if unable to connect */ 
    private void connectDb(boolean recycle) {
        try {
            if (recycle) {
                log.status( log.getSB().append("Recycling DB Connection") );
                closeDb();
            }
            openDb();       
            for ( int i = 0 ; i < service.length ; i++ )
            {
                service[i].setConnection(db);
            }
        }
Uno dei servizi deve utilizzare un altro database, qual è il miglior modello di progettazione da utilizzare?