[]

Sorum C# çılara (Tavsiye istenir)

Evet sevgili C# OOP uzmanlarımız.

Bir yıldan fazla zamandır belli aralıklarla C# kullanıyorum, açıkçası çok sevdiğim bir dil kendisi. Bir çok alanda işime yaradı; fakat hep aynı taktikle yazmaktan kendimi geliştiremediğimi hissediyorum.

İş ile alakalı bir proje yapmam gerekiyordu, C# ile projeyi tamamladım işlenebilirlik açısından da herhangi bir sıkıntı yok, en azından isteneni karşılıyor; fakat hiç ama hiç içime sinmiyor kendi programım. Spagetti mantığında yazdım bu programı , sadece formlar arası veri taşımak için statik class kullandım kaç satırlık kodda başka class yapısı yok, hep method hep method ardı ardına. Haliyle bu canımı sıkıyor, hem programa sadece bir haftadır bakmamış olmama rağmen bugün bakınca unutmuş olduğumu fark ettim; hem de yeni bir şey eklemek icap ettiğinde sistem birbirine karışıyor.

Bu projeyi en baştan mevcut algoritmaları kullanarak daha düzgün bir sisteme taşımak istiyorum baştan. ama OOP mantığında yapmak istiyorum bunu. MultiThreading'den tutun inheritanca'lar falan kavram olarak bildiğim şeyler ama böyle bir OOP mantığına ne için ihtiyacımız olur bilemediğim için uygulayamıyorum. Gösterebleceğiniz bir kaynak var mı, ya da en baştan sistemi taşırken nasıl hareket etmeliyim, tavsiyeler istiyorum sizden kendimi geliştirebilmek adına.

aynı zamanda C# ın görsel programlamasından en efektif nasıl yararlanabilirim.
Mesela düşünün ki bir listbox var bu listbox'ın her bir item'ında yani her bir item kısmında hem yazı hem resim, hem çeşitli bilgiler yer alacak, şimdi ben bunda class mantığını nasıl kullanırım hayal edemiyorum.

Tavsiyelerinizi esirgemeyin dostlar...

 
Ya programcı olduğumu iddia etmiyorum ama hocamın fortran kodu vardı doktora tezimde onun üzerinden devam edelim dedi. Baktım anlamıyorum baştan oop olarak yeniden yazdım c#'ta. Bence sen de sıfırdan başla ama koda yumulma bölebilecek en ufak parçalara bölüp teker teker sınıfları oluştur.


  • maxc  (22.06.16 18:51:45) 
önce uml üzerinden basla, ilk use case diagram ciz, sonra class diagram. class diagram üzerinde classlar arasinda inheritance durumunu tanimla. daha sonra abstract classlari tanimla. bir sonraki asama olarak da hangi interfaceler sana lazim onlari tanimla. koda elini sürme, kagit üstünde yap herseyi. yaz ciz boz, sonra class diagramlarla ilgili tekrar tekrar kaynak oku. aklina geldikce yine tasarla class diagramini.

bir sonraki asama design patternler. hangi durum icin ne pattern kullanacaksin onlara bak. mesela singleton ya da factory pattern. class diagramlarini buna göre güncelle

en son asama ise gelistirme, ama bu gelistirme asamasinda test driven development yapman kodunun en mantikli yoldan ve hatasiz bicimde en kücük parcaya bölmeni saglar. yani TDD ile önce girmemen gereken yasaykli yollari tanimlarsin, sonra kendi yolunu kendin bulursun. ayni zamanda da unit testleribu yazmis olursun.

Kisaca:
UML->Use Case Diagram -> Class Diagram -> Design Patterns -> Class Diagram -> Coding with TDD

Kayak olarak bu kitap hizla okunup tüketilebilien bir kitap www.amazon.com
  • emrahday  (22.06.16 19:22:56) 
1
buraya yazılanların hakları Sir Anthony Hopkins'e aittir.
yazan eden compumaster, ilgilenen eden fader
modere edenler angelus, Artibir, aychovsky, baba jo, basond, compumaster, deckard, duyulmasi gerektigi kadar, fader, fraise, groove salad, kahvegibi, kaymaktutmayansicaksut, kibritsuyu, monstro, pandispanya, robin, ron dennis
bu sitede yazılanların hiçbiri doğru değildir. site içeriği küçükler için sakıncalı olabilir. yazılardan yazarları sorumludur. kaynak göstermeden alıntılanamaz. devlet tarafından atanmış bir kurumun internet üzerinde kimin hangi bilgiye ulaşıp ulaşamayacağına karar vermesi insan haklarına aykırıdır. web siteleri kullanıcıların istekleri doğrultusunda bağlandıkları yerlerdir. kullanıcılar isterlerse bir web sitesine bağlanmayabilirler. bu güçleri ve imkanları mevcuttur. bir kullanıcı bir siteye bağlanmak istiyorsa bu onun tercihi ve hakkıdır. bağlanmak istemiyorsa bu yine onun tercihi ve hakkıdır. halkın kendisine hizmet etmesi için görevlendirdiği kurumlar hadlerini aşıp halka neye ulaşıp ulaşmayacağını bilmeyen cahil cühela muamelesi edemezler. ebeveynlerin çocuklarını sakıncalı içeriklerden koruması için çok sayıda bedava ve ücretli yazılım mevcuttur. bu yazılımlar bir web tarayıcısını kullanmaktan daha karmaşık teknik bilgi gerektirmemektedir. devletin milletini küçük düşürmesi ve ebleh yerine koyması yasaktır. Skimlinks ile linkler üzerinden yönlendirme payı alınmaktadır.