Selamlar. Günlerdir araştırıyorum ama bir sonuç yok.
Aşağıda örneğini verdiğim bir arkadaşın çat uygulamasının parçaları bunu nasıl bölüyorsunuz yani nereden biliyorsunuz böyle parçalardan ibaret olacağını?
Ve her parçanın sınıfı(class) ve metodları neler olacak bunu nasıl belirliyorsunuz ve nereden öğrendiniz? Nasıl öğrendiniz? Çok rica ediyorum yardımcı olmanız için. Bu alanın ismi nedir? Bu konuyu öğrenebileceğim kitap online kurs vb. varmı?
Bir kitap buldum acaba bumu aradığım?
“Tasarım Desenleri ve Mimarileri”
Mesaj girilen yerler yaptikca, resim secilen yerler kullandikca, konusmalar gosterdikce bunlarin ayri parcalar olmasi gerektigini goruyorsun.
Fonksiyonlari ihtiyac oldukca yaziyorsun ve her seferinde hangi sinifa ait, kimlerin yaninda daha dogru duruyor sorularini sorup cevaba gore yerlestirebiliyorsun.
Zaten fonksiyonlar ilk koydugun yerde duracak, siniflar ilk boldugun gibi olacak diye bir sey yok. Yazdikca goruyorsun. Bu yazdigim parcalar da kotu bir ayrimdir belki. Isi yapmaya calisana kadar emin olamazsin.
Mimari ve dizayn pattern’larini kitaplardan ogrenebilirsin ve cok isine yarar, fakat hic bir kitap “bu programi kac/hangi parcaya ayirmaliyim” sorusunu cevaplayamaz. Ileri mimari yazilarinda “memory share eden parcalari ayni sinifa koy” veya “stream halinde iletisen iki kisim var ise consumer’lari bir araya bir parcaya, producer’lari bir araya baska parcaya koy” gibi yuksek seviyeli genel tavsiyeler alabilirsin belki fakat hic bir kaynak sana parcalari tam olarak nasil ayirip duzenleyecegini soylemez. Soyleyemez; tasarimin temel ozelliklerinden biri bu.
Kitap aradigin surede 1-2 basit chat uygulamasinin koduna bakabilirsin mesela.
O kitabi okuyana kadar ayni chat uygulamasini 3 degisik sekilde:
Parcalara ayirmakla ugrasmadan, “bi sekilde olsun da” diyerek
Bu yazdigim parcalara ayirarak
Kendi kafana gore parcalara ayirarak
yazabilirsin mesela. Daha once -atiyorum- 5 tane uygulama yazmadiysan daha faydali olacaktir.
Unutma ki “desen” (pattern—“oruntu” daha iyi bir ceviri olabilir) kendini tekrar eden, duzenli olarak karsina cikan bir sey. Tekrarlari gorecek kadar buyuk bir kumasin yoksa (ayni seylere ihtiyac duyacak kadar cok program tasarlamadiysan) desen olmaktan cikiyor.
“Kitap okuma” demiyorum ama program yazmiyorsan program yazma hakkinda kitap okumak pek isine yaramaz.
Bu arada bunu genel, yapmak–yapmak hakkinda bilgi almak dengesini biraz kaybetmis insanlara hitaben yaziyorum. Sahsi durusun/durumun hakkinda bilgim yok (ama yazarsan olabilir de tabi ki).
Ogrenme ugrasiniza saygi duyuyorum ve ne kadar zor oldugunu hatirlamaya calisiyorum. Arada ufak yonlendirmeler cok yardimci olabiliyor; bu da bunlardan biri. Yazin, yazdikca kendiniz gorun.