Saya menemukan grafik berikut cukup bagus menggambarkan arsitektur MVC diterapkan dalam aplikasi web. Walaupun gambar tersebut dimaksudkan oleh pengarangnya untuk menjelaskan arsitektur MVC dalam Ruby on Rails, namun gambar tersebut juga bisa digunakan untuk menjelaskan arsitektur ASP.NET MVC:
Anggap saja MySQL di atas adalah SQL Server 2005/2008, sisanya sama saja. Web Server: IIS. Routes: Routing module dan route table. Dispatcher: MVC HttpHandler. Controller: ASP.NET MVC Controller. Model: POCO objects, active records, etc. View: WebFormViewEngine, etc.
Anyway agak menyimpang dikit, apa itu Ruby on Rails? Ruby adalah nama sebuah bahasa pemrograman. Rails adalah framework aplikasi web yang menerapkan arsitektur MVC yang running dengan Ruby. Setelah melihat-lihat sekilas contoh dalam tutorial Ruby on Rails, sekilas saya mendapati bahwa arsitektur ASP.NET MVC itu hampir sama dengan Ruby on Rails.
Ruby itu bahasa pemrograman yang bersifat dynamic. Kontras dengan C# yang bersifat static. JavaScript juga tergolong bahasa pemrograman yang satu kelompok dengan Ruby. Merasakan enaknya programming dengan JavaScript on jQuery, sepertinya asyik juga kalau experience yang sama (chainability) bisa diterapkan dalam bahasa pemrograman yang meng-handle business logic di server side (menggantikan C#). Harapan ini seharusnya sudah terjawab dengan hadirnya IronRuby. Namun sampai saat ini IronRuby belum juga ter-bundle dalam paket Visual Studio, belum ada example yang ditulis dengan-nya di MSDN, dan yang pasti belum ada versi rilis-nya.
Di C#, baru merasakan chainability dengan pipe&filter pattern memanfaatkan IQueryable<T> saja rasanya sudah 'amazing'. Padahal mungkin bagi programmer Ruby yang seperti itu sudah jadi menu wajib.
Note: image saya copy ke geeks agar tidak menghabiskan bandwidth yg punya website. Website pengarang: http://betterexplained.com/articles/intermediate-rails-understanding-models-views-and-controllers/