Sviluppatore .Net che cerca di imparare il rubino sulle rotaie


11

Sono uno sviluppatore .NET e ho avuto la possibilità di giocare con Ruby on Rails questo fine settimana.

In .NET separiamo i livelli dell'applicazione creando progetti di libreria di classi separati. Dal punto di vista del modello di progettazione, dobbiamo farlo anche in Rails o è solo un intero progetto che contiene tutto?


1
+1, posso trovare un sacco di tutorial sulla codifica ma non c'è nulla su "come posso gestire il layout di questo progetto semi complesso" che posso trovare per la maggior parte delle lingue.
Wyatt Barnett,

Non ho letto il libro di Pragmatic Press 'Ruby, ma se è qualcosa come Erlang, fanno un buon lavoro nell'insegnare non solo la sintassi della lingua ma anche i modi di dire. Forse qualcun altro può commentarlo.
Michael Brown,

Risposte:


3

Scoprirai che le app Rails iniziano come repository singoli. I più riusciti (Twitter, Square, molti altri) si dividono in più codebase man mano che crescono in quel requisito. Tali basi di codice aggiuntive possono essere demoni , servizi , gemme, motori Rails o qualcos'altro.

Questo refactoring in più progetti non viene eseguito finché non si rivela necessario, perché YAGNI . La biforcazione del progetto nel primo giorno rallenta i tempi di prototipazione e la velocità di prototipazione è un punto di forza di Ruby e di Rails. Ti consigliamo di tenere presente che la creazione o una classe in Ruby non costa quasi nulla, così come spezzare una classe ben desolata. Il tuo codice Ruby puro vivrà in gran parte sotto /app/( app/models, app/views app/controllers, app/helpers) e /lib/. Le tue risorse statiche, le inclusioni di JS / Coffee a strati e le inclusioni CSS / Sass / etc saranno presenti /app/assets.

Capire perché suddividere una classe di Ruby è così facile richiede un po 'di lettura sulla tipizzazione delle anatre e la comprensione che le interfacce di Ruby non sono così ironiche come si potrebbe essere abituati in un ambiente meno dinamico.

Ecco alcuni link che potrebbero interessarti:

Buona fortuna con i tuoi progetti!


0

In Ruby le librerie sono chiamate gemme, vedi http://www.ruby-lang.org/en/libraries/ e sono usate allo stesso modo delle librerie di classi .NET.


1
Sì. Ma la mia domanda è; in termini di buona progettazione e buone pratiche di programmazione, separiamo i modelli e le regole di business dal progetto principale delle rotaie? Scusa se la mia domanda è confusa. Sono appena entrato in binari e non so davvero come spiegarlo. È solo diverso ..
Ryan Adriano il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.