IOS Platformlari ve MVC Mantiklari Nedir?
- Sevdanur GENC

- Oct 6, 2012
- 2 min read
IOS uzerinde programlama yapacaksak eger oncelikle MVC - Model View Controller Nesne tabanli model kontrol yapisini bilmemiz gerekmektedir. Ayni zamanda bu beceriye de sahip olmamiz gerekmektedir. IOS'larin temel isletim sisteminin aslinda UNIX isletim sisteminin oldugunuda unutmamiz gerekmektedir. Iste bu yuzden kullanacagimiz dilin yani Objetive C'nin C'ye benzerligi vardir.
IOS LAYERS
IOS Isletim sistemlerinin katmanlari bulunmaktadir. Bunlar Sunucu katmanindan asagiya yani donanim katmanina dogru sayacak olursak ; Cocoa Touch, Media, Core Services, Core OS'dur.
Core OS Katmanlari ;
Soket bolumler bulunmaktadir ve ayni zamanda bir dosya sistemide yer almaktadir. Bu katmanlar dusuk seviyeli erisimleri yayabilen duyarli yapilar olup bunlarla ilgili bir cok mekanizmaya sahip olmaktadir. Bunlarin cogu nesneye yonelik uygulamalar degildir ve eger bu katmanda calisiyorsak
cok fazla kod yazmamiza da gerek kalmayacaktir.
Core Services Katmanlari
; Bu katman Nesneye yonelik bir katmandir. Ve nesneye yonelik arayuzlerle bu isletim sisteminin cogunu kapsamakatadir.
Media katmanlari ;
Aslinda basli basina farkli bir boyuttur diyebiliriz. Cunku ITunes'taki tum muzikleriniz, videolariniz, izlediginiz videolar vb.. tum bunlari uygulamalarinizda kullanabilmenizi saglayan nesneye yonelik API'ler bulunmaktadir.
Cocoa Touch katmanlari ;
Nesneye yonelik bir arayuzdur. Uygulamalarimizda kullandigimiz parmak hareketleri algilayabilen bir cozum katmanidir diyebiliriz. Ayni zamanda IvmeOlcer yani Accelerometer ve Gyro sistemlerini kullanabilen bir katmandir.
IOS Platformlarinda Kullanacagimiz Bilesenler Nelerdir ? ;
IOS Platformlarda kullanacagimiz 3 bilesen bulunmaktadir. Bunlar ; XCode, Interface Builder ve Instruments'dir.
XCode ;
Tek bir yerde kodlarimizi duzenleyebilecegimiz, olusturabilecegimiz ve debug edebilecegimiz tum islemlerin hepsinin bir arada bulunabilecegi bir uygulamadir.
Interface Builder ;
Kullanici arayuzumuzu ve grafiksel cizimlerimize imkan saglayabilecek olan diger bir uygulama ise interface builder'dir. XCode4'ten sonra bu iki uygulama yani XCode ve Interface Builder bir arada birlestirilmis durumdadir.
Instruments
; Bu uygulama cihazimizin hafizasini yonetebildigimiz ve hafizayi nelerin tukettigini bulabildigimiz bir uygulamadir. Ayni zamanda uygulamanin performansini analiz edebilecegimiz icerisinde bir grup uyglamada bulunmaktadir.
Tabii bu platform'da calisabilmemiz icin ogrenmemiz gereken dil ise; Objective C'dir. C dilinin bir ust kumesidir. Ayni zamanda bu platform icin bir suru Frameworks bulunmaktadir. Bunlari uygulamalarimizda cagirabilecegimiz bir paket yada kutuphane gibide dusunebiliriz. Ve dizayn stratejisi olarak da MVC kullanilmaktadir. Cunku bilindigi gibi nesneye yonelik bir stratejidir bu.
MVC Nedir ?
MVC yapisini basit bir sekilde hafizanizda kalabilmesi icin farkli bir yontemle anlatmaya calisicam. Cunku IOS'ta calisirken Model View Controller Nesne tabanli model kontrol yapisini bilmemiz gerekmektedir.
Simdi dilerseniz, Model, gorunum ve kontrolcu isimlerinden olusan kamplar dusunelim.
Programimizdaki komutlarin hepsini bu uc kamptan birine bolmiz gerekiyor. Bunlar modellerin bulundugu kamp, kontrollerin bulundugu kamp ve gorunumlerin bulundugu kamp olarak dusunulebilir.
Model Kampi ;
Basitce uygulamamizin ne olacagi hakkinda bize bilgi verebilen bir alandir diyebiliriz. Ama uygulamanin nasil gorundugu ile ilgili degildir. Cunku daha cok modelin kullanici arayuzu ile ilgili hic bir alakasi yoktur.
Kontrol Kampi ;
Uygulamanizin nasil goruntulenecegi ile alakaldir. Bunu bir nevi sahip oldugunuz cihaza ozgu bir platform olarakta dusunebilirsiniz.
Gorunum Kampi ;
Kontrollerin hizmetcisidir diyebiliriz. Yani kontrolun isini yapmak icin kullandigi uretken, yeniden kullanilabilir arayuz nesneleridir. Ve modelimizin ekrandaki gorunumunden sorumludur. Aklimizdan hic cikarmayacagimiz genel mantik ise sudur ; Kontroller modellerle iletisim kurabilirler. Kontroller modeller hakkindaki herseyi bilirler, tum API'lerini okuyabilirler. Kontrollerden gorunumlere iletisim kurulurken bir nevi pointer gibi kullanacagiz. Yani somut bir degisken kullanmak zorundayiz. Bunu outlet olarakda isimlendirebiliriz tabikide. Kamplar arasinda cok fazla iletisim olmasini istemedigimiz icin model ve gorunum kamplari arasindaki iletisiminde cok fazla bir sekilde gerceklesmemeesinide istemeyiz tabikide.. Keyifli Calismalar Dilerim.
Comments