Ruby On Rails MVC (Model-View-Controller) Mimarisi
17 Eylül 2007, Pazartesi 5 am | Yazan : webdr | 52 okunma | | 52 okunmaBu yazıda size RoR’in çalışma prensibi hakkında elimden geldiÄŸince net bilgiler vermeye çalışacağım, bunu özellikle yapmak istedim çünkü en baÅŸlarda kendime hep bu soruları soruyordum, nasıl çalışıyor bu, mantığı nedir? İşleyiÅŸini kavradıktan sonra herÅŸeyin daha kolay yürüdüğünü ve üzerine yapılan eklemelerin daha kalıcı olduÄŸunu gördüm ve sizinle paylaÅŸmak istedim hatta bunun için janjanlı bir resim dahi hazırladım :).
Bunun için tarayıcının adres satırına girdiğimiz RoR ile ilgili bir bağlantının yaşam döngüsünü 8 basamakta inceleyeceğiz. Bunu yaparken örneklerimizi aşağıda verilen bağlantı üzerinden yorumlayacağız.
http://localhost/deneme/ruby
1) Tarayıcınıza bu adresi girdiÄŸiniz zaman tarayıcının ilk iÅŸi hostunuzda bulunan web sunucusuna (apache, webrick, lighttpd ….) baÄŸlanmak olacaktır.
2) Web sunucusu daha sonra Ruby on Rails Framework’e baÄŸlanacaktır, bu baÄŸlanma basamağında ilk önce “Routing” denen iÅŸlemler topluluÄŸunu gerçekleÅŸtirecektir. Burada çok fazla ayrıntı vermeyeceÄŸim ancak bu routing esnasında web sunucusunun public klasörüne uÄŸradığını bilmenizde yarar var. Buraya uÄŸramakta ve deneme adında bir klasör ve onun içinde bulunan ruby.html belgesine bakmaktadır, eÄŸer böyle bir belge bulamazsa yine public klasöründe bulunan bazı verilerden (ruby’nin kurulu olduÄŸu dizin vs..) yararlanarak controllera ulaÅŸacaktır. Bazen karşılaÅŸacağınız routing hatasının nedenide bu basamaktan kaynaklanmaktadır.
3) Bu aşamada controller içindeki app klasörüne giden uygulama bu klasörde deneme contorellerına ve bu controller altındaki ruby actionuna bakacaktır.
4) Bu action eğer modele bağlantı gerektiriyorsa , modele bağlanılacak, modelde (veri tabanına bağlanması gerekirse model aracılığı ile yapar.) 5) veritabanına bağlanacak, gerekli bilgileri alıp aynı yolu izleyerek yine controllera dönecektir. Eğer model bağlantısı gerektirmiyorsa o zaman bu basamaklar atlanacaktır.
6) Controllera gelen bu veriler ile birlikte, gerekli action uygulanmış halde, elde edilen sonuçları kullanıcıya iletmek için view klasörüne uğramak durumunda kalacaktır. View klasöründe amaç alınan sonuçların kullanıcı tarafından görülebilecek şekilde biçimlendirilmesidir. Mesela html, css kodları gibi pek çok özelliği hatta ruby kodlarını gerekirse burada kullanabilirsiniz (esasında view ruby kodlarının kullanılması için pek önerilmez, kullanacağınız ruby kodlarını kontroller içinde kullanmanız ve buraya bir instance variable ya da başka bir şekilde aktarmanız daha uygun olacaktır.)
7) Viewe uğrayıp kullancıya ulaştırılmak için son şeklinin alan web uygulamanız yine web sunucunuzla bağlantı kuracak.
8- Web sunucusuda tarayıcı ile tekrar bağlantı kurarak uygulamadan elde edilen sonucu kullanıcıya aktaracaktır.
Profesyonel mesleğim web uygulamaları geliştirmek olmasa da benim için çok güzel bir hobi olduğunu itiraf etmeliyim ve bu nedenle irili ufaklı hatalarım olmuşsa kusuruma bakmayın lütfen
Kolay gelsin ![]()
webdr
Bu Yazıyı Paylaşın: Bağcık |Webiket |Oyyla |LinkiBol |Favorri |Tusul |del.icio.us |


“Ruby On Rails MVC (Model-View-Controller) Mimarisi” yazısına 2 yorum var
sedat demiÅŸ ki;
3 Temmuz 2008, PerÅŸembe 11 pm | Cevapla
güzel olmuş tebrik ederim
Sadettin demiÅŸ ki;
13 Ağustos 2008, Çarşamba 11 am | Cevapla
Teşekkürler bu güzel paylaşım için. elinize sağlık