Migliori pratiche di Ruby per i livelli di accesso ai dati

0

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?

    
posta lusocoding 22.10.2015 - 00:26
fonte

1 risposta

0

... As far as I know its just a MVC framework for Ruby web development. Some articles talk about ActiveRecords ORM and other subjects in a way that it seems that those gems are almost exclusive for Rails development. Is that only because Rails is very popular, almost more than Ruby itself, and because of that most blogs are from Rails guys so they talk in their comfort zone?

La risposta breve è che tutte le gemme sono fondamentalmente esclusive per RUBY. Non rubino su rotaie.

La risposta di media lunghezza è che le gemme sono proprietarie di strutture basate su rubini. Notate che sto dicendo che il frame basato su ruby funziona, ci devono essere 10 o 12 che so di quali sono i framework di ruby (cercate framework di ruby in google) o abbastanza vicini da comprendere e & usa le gemme.

Ricordiamo che la teoria di una gemma era piuttosto nuova nella programmazione web durante i giorni delle pagine web statiche degli anni '90. Dal successo di Ruby on Rails post 90's, molti dei framework hanno copiato l'idea di incapsulare un pacchetto che installa e lavora automaticamente per le dipendenze dalle librerie internet disponibili pubblicamente a tale scopo. Ecco perché le persone parlano come fanno delle "gemme".

La gemma ActiveRecord non è in realtà l'intera storia, la gemma è solo un gestore del pattern noto come ActiveRecord. Descrizione Wiki ... Link . Una buona descrizione di ciò che la gemma & modello sono da rubare su rotaie qui ... Link .

    
risposta data 06.06.2016 - 17:11
fonte

Leggi altre domande sui tag