2010-05-16 6 views
5

Ho sviluppato Ruby on Rails in precedenza. Ora sto guardando un'app web ASP.net e sto guardando WebForms e MVC. Quando guardo MVC mi sembra di vedere il risultato di qualcosa che uno sviluppatore di Ruby on Rails ha implementato dopo essere stato costretto a lavorare in MS land. Quindi mi chiedo:ASP.net MVC è una copia diretta dei concetti di Ruby on Rails?

MVC era più o meno preso direttamente da Ruby su Rails e dai suoi concetti? (intenzionalmente o non intenzionalmente)

risposta

14

MVC è ovviamente esistito molto prima di Rails o ASP.NET MVC.

ASP.NET MVC, tuttavia, è influenzato da Ruby on Rails, ma non è una cosa negativa. Le specifiche del routing sono gestite in modo simile, gli assistenti sono simili. Mentre tutti i framework MVC sono simili, ASP.NET MVC si sente vicino a Rails come si potrebbe ottenere in un linguaggio come C#.

+3

Il pattern MVC non è nuovo. risale al 1978 e il progetto Smalltalk a Xerox. Molto vecchia scuola :) –

2

No, MVC è un modello di progettazione che funziona molto bene per le applicazioni Web. Ruby on Rails credo sia stato uno dei primi ad adottarlo che ha dimostrato quanto fosse adatto per un'architettura web e probabilmente influiva sull'implementazione di MS, ma non è venuto fuori con il design.

+0

In altre parole, entrambi provengono dalla stessa fonte. –

+0

@Andrew, sì esattamente. – jaywon

+0

RoR è stato sicuramente ** non ** uno dei primi ad adottare MVC sul Web. Ad esempio, Struts era disponibile circa 5 anni prima di RoR. –

3

Ho lavorato con Struts, Spring, RoR e ora asp.net MVC. Sento che c'è spazio sufficiente per concetti diversi, anche se il concetto principale e il marchio per un framework sono MVC.

Come in asp.net MVC, sembra che RoR sia stato preso come implementazione di riferimento di Web MVC.

6

Sono d'accordo che il pattern MVC è stato intorno un po 'e si tratta di una buona architettura per le applicazioni web, ma se si guarda a ASP.NET MVC, In breve si giunge alla conclusione che essi potrebbero hanno chiamato Rails.NET