Sto iniziando la mia strada verso lo sviluppo di Ruby e ho alcune domande che spero che tu possa dare il tuo miglior parere per progettare meglio alcune applicazioni da riga di comando che sto sviluppando.
Quali sono i migliori schemi durante la creazione di livelli di dati in Ruby? Ho visto molti articoli parlare di ORM (ActiveRecords e altri) e ho visto anche articoli in cui le classi sono create con metodi self che creano query SQL, il che significa che il modello è a conoscenza dei propri dettagli di implementazione della persistenza.
A causa della mia esperienza in C # lavoro molto con i modelli di repository e non sono abituato a mettere tutta la mia logica di DataLayer direttamente nelle classi del modello, quindi tendo a considerare quegli approcci come "non" le migliori pratiche.
Ad esempio, se si dispone di una classe Manager con alcuni metodi in cui risiede tutta la business logic ed è necessario ottenere una classe Foo da un database SQL, si creerà una classe che funga da repository SQL con tutti i dati Accedere all'attuazione lì, ad es SqlRepo.find_foo ("1"), o dovresti semplicemente creare metodi self sulla classe Foo, ognuno con i dettagli di persistenza necessari come Foo.find ("1")? Qualche altra idea migliore?
Un'altra domanda che mi viene in mente è Ruby on Rails. Per quanto ne so è solo un framework MVC per lo sviluppo web di Ruby. Alcuni articoli parlano di ActiveRecords ORM e di altri argomenti in modo tale che sembra che quelle gemme siano quasi esclusive per lo sviluppo di Rails. È solo perché Rails è molto popolare, quasi più di Ruby stesso, e per questo la maggior parte dei blog proviene da ragazzi di Rails, quindi parlano nella loro zona di comfort?