Sto usando SqlAlchemy, una libreria ORM python. E ho usato per accedere direttamente al database direttamente dal livello aziendale chiamando l'API SqlAlchemy.Come organizzare un livello di accesso alla base dati?
Ma poi ho scoperto che avrebbe causato troppo tempo per eseguire tutti i miei casi di test e ora penso che forse dovrei creare un livello di accesso DB, così posso usare gli oggetti mock durante il test invece del database di accesso direttamente.
Penso che ci sono 2 scelte per farlo:
uso di una singola classe che contiene una connessione DB e molti metodi come addUser/deluser/UpdateUser, addBook/delBook/updateBook. Ma questo significa che questa classe sarà molto grande.
Un altro approccio è creare diverse classi di gestori come "UserManager", "BookManager". Ma ciò significa che devo passare un elenco di manager al livello Business, che sembra un po 'ingombrante.
Come si organizza un livello di database?
Ciao, perché alcuni dei miei colleghi insistono sul fatto che dovremmo usare la procedura di archiviazione e non ho alcun controllo su di esso, quindi sqlite non è una scelta possibile per me. – ablmf
BTW: sqlite non supporta la procedura di archiviazione. – ablmf
Hm. Ciò significa che dovrai prendere in giro parti significative del codice (le stored procedure). Questo renderà i test molto meno utili. Situazione difficile. –