Posts tagged "mvc"

MVC Nedir ? En basit açıklaması ile

MVC Nasıl Çalışır ?

mvc

  • Browser’ dan WebServer’ a istek gider.
  • İsteğin route’ u çözülüp, istek controller a sevk edilir.
  • Controller’ da istek anlaşılır, yapılması gereken işlem Model’ e paslanır.
  • Model de Business Logic işlem görür. Model’ de sadece Database işlemleri YAPILMAZ. Bu yanılgıdan kurtulalım. Model ve model den sonraki katmanlar ile database, webservice vb. işlemlerin tümü yapılır.
  • Model’ den controller’ a data döner. Bu data her tipte olabilir. Binlerce satırdan oluşan database kaydıda olabilir, model de yapılan bir işlemin sonucunda durumu bildiren boolean true false ta olabilir.
  • Controller Model’ den datayı aldıktan sonra işlemin tüm controllerını tekrar kendisi üstlenir ve karar verip, view(HTML Template)’ ı una göre şekillendirir. View’ ı şekillendirmek, database ten gelen kayıtları listelemek te olabilir, Model’ de yapılan işlemin sonucuna göre kullanıcıya gösterilecek mesajı seçmekte olabilir.
  • Controller view’ ı şekillendirdikten sonra browser’a cevabını döner ve Uygulamanın Frontend’ indeki kurguya göre bu cevap kullanıcıya gösterilir.

Dikkat Edilmesi Gereken Nokta:
Gördüğünüz üzere herşeyin odak noktasında Controller var. Model katmanında yapılan işlemler teknik olarak Controller katmanında da yapılabilir (Çok ekstrem örnekler dışında). Ama ASLA böyle bir şey yapmayın ! Çünkü bu “Separation of concerns” tasarım prensibine uymamaktadır. Seperation of concerns nedir diye soruyorsanız, http://angulartr.com/separation-of-concerns-nedir/ adresindeki yazımı inceleyebilirsiniz.

Angular – Başlangıç

AngularJS’ e yada 2.versiyonu ile adı sadece Angular olacak olan frontend framework’ nü öğrenmeye hoşgeldiniz. Angular nedir, niçin vardır ? Angular ile neler yapılır vb. deli sorulara yanıt bulmak için öncelikle AngularJS Nedir linkindeki konumuza gözatabilirsiniz. Kendinizi Angular’ ı öğrenmeye hazır hissediyorsanız hemen başlayalım. Çünkü sizinle paylaşacak bolca örneğim var 🙂

Continue reading

AngularJS ile Uygulama Geliştirirken Uyulması Gereken Prensipler

AngularJS ile uygulama geliştirirken, uygulamanız büyümeye başladıkça, yönetmesi de zorlaşmaya başlayacaktır. Tıkandığınız yerlerde, kendiniz 10 larca makaleyi karıştırırken, stackoverflow’ da sabahlarken bulabilirsiniz. Uygulamanız aslında şuan çalıştığından daha performanslı çalışabilir, yönetimi çok çok daha basit olabilir ve hatta yeni modüller eklenmesi sandığınızdan çok daha kolay ve sağlıklı olabilir. İşte herkesin başına gelen sorunları daha en başında çözmek amacıyla, AngularJS geliştiricileri tarafından ortak kabul edilen prensipleri, sizlerle paylaşmaya çalışacağım. Aşağıdaki liste sürekli güncellemektedir ve kurallara uyduğunuz taktirde, geliştirmeleriniz tereyağından kıl çeker gibi kolay olacaktır. Çünkü piyasadaki ortak kurallara göre kod yazmanız, sizin gibi kurallara uyan diğer geliştiricilerin AngularJS için yazdığı ve open source olarak yayınladığı modülleri de kolayca uygulamanıza entegre etmenize olanak sağlayacaktır.

ÖNEMLİ NOT: Aşağıdaki listeki pratikler aslında 2‘ ye ayrılıyor. Teknik olarak yapmak zorunda olduklarınız ve Düzen, prensip, kolay yönetebilme açısından size sunulan çözümler olarak. Bu yüzden incelerken şöyle diyebilirsiniz: “ben bunu böyle yapmasamda çalışır bu”, “bilmemnebilmemne.com’ da böyle anlatmıyor, bu kadar uzatmıyor” vb. şekilde düşünebilirsiniz. Unutmayınki oralarda verilen örnekler, sadece örnek verilen kısmı anlatmak için kolay yoldan yapılmış olabilir, AMMA sizin projeniz büyüyecek ve artık düzensiz çalışamayacaksınız.
Continue reading

AngularJS Nedir?

AngularJS yada şu sıralar 2.versiyonu geliştirilmekte olup adı kısalarak sadece Angular olacak, javascript ile yazılmış, SPA(Single Page Application) geliştirmemize yarayan bir framework’ tür DEDİĞİMİZ ANDA belki de bu yazıyı okuyan kişilerin %99.9′ nun hiç işine yaramayacağı kadar sığ bir açıklama yapmış olacağım. Çünkü Framework dediğimiz zaman, backend’ te kod yazan geliştiriciler için büyük anlamlar ifade ediyor LAKİN Frontend dünyası yakın zamana kadar Jquery KÜTÜPHANESİ ve eklentileri ağırlıklı olmak üzere çeşitli ek kütüphanelerle işlemlerini yürütüyordu. Tamam şimdi itiraz edip, EmberJS kullanılıyordu, BackboneJS vardı diyecekler olabilir ama şahsi fikrim hiçbiri AngularJS kadar gerçek bir framework olmamıştır. Bunu söylerken sadece teknik yeterlilikleri gözönüne almıyorum, örneğin route yada data-bind yapısı yada sizin için framework dediğimiz şey her ne ifade ediyorsa. Benim için önemli olan framework’ ün piyasadaki duruşudur, varlığıdır. Angular‘ ın resmi geliştiricisi Google şirketi, bu bile bize çok şey anlatmakta ki yazının devamında bu konuyu derinlemesine irdeleyeceğim.
Continue reading