Bilgi İşlem Tasarım Kalıpları

0
anonim
Tasarım Kalıpları (Design Patterns) adı verilen akım, özellikle bilgi işlem yazılımcıları tarafından son yıllarda çok ilgi görmüştür. Bir tasarım kalıbı basit bir açıklama ile bir nevi reçetedir. Bu reçete, sürekli karşımıza çıkan bir sorun tipine karşı bulunmuş, gene sürekli verilmiş olan ve işe yarar bulunmuş bir çözümdür.

Yazının devamı için buraya tıklayın.

Görüşler

0
FZ
Konu ile ilgilenenlere birkaç güncel makale-tartışma adresi:

Design Patterns Still Aren't: A Pattern of Misunderstanding: Fetishizing the Gang of Four

http://perlmonks.org/index.pl?node_id=285065



Software Design Resources

http://perlmonks.org/index.pl?node_id=285637

0
mentat
hmm, cehaletimi bagislayin oncelikle, java'ci degilim.. ancak o yazida ben hic pattern goremedim. bazi isleri yapmak icin kullanilabilecek yontemler anlatilmis ama bunlar java dili ile ilgili degil, java kutuphanelerinden hangileriyle en dogru cozume ulasilabilecegi ile ilgili sanki. bir gariplik var sanki.

benim pattern'dan anladigim sey, dilin klasik deyimleri ile (nesne, inheritance, vs) cozumlenemeyecek islerin yine dilin kaliplari kullanilarak cozulmesi.

mesela singleton en basitinden. global member variable'dir kendisi ama biraz daha guvenli ve temiz bir kullanim getirir (duruma gore). ama dil disindan baska hicbir kutuphane vs kullanmazsiniz.

class SingletonFoo{
static SingletonFoo* m_pThis;
SingletonFoo();
~SingletonFoo();
public:
static const SingletonFoo* getInstance() {
if (!m_pThis) // bunu cpp'de 0'a esitledik
m_pThis = new SingletonFoo;
return m_pThis;
}
// buraya da non-static member funclar vs..
};

budur, mesela singleton..

neysem, benden onceki mesaji atan arkadasin da belirttigi gibi, pattern'lar konusunda bitmeyen bir tartisma da var. iyi mi kotu mu seklinde. ozellikle de GoF'un patternlarina karsi ciddi elestiriler mevcut. (adini hic bir zaman tam dogru yazamayacagim) Alexandriescu'nun da Modern C++ Design'di galiba kitabi ise ciddi saygi duyulasi bir baska kitap..

pattern nedir konusna donersek de, bazilarina gore veri yapilari bile bir pattern'dir (bence abarti biraz), kriter, dilin kendisi icinde olmamasi. (orn, yigit, kutuk, vs)

bir baska ilginc nokta da, gucunden pek suphe edilmeyen c/c++ pattern'lara muhtac iken, genelde parantez sayisiyla alay konusu olan Lisp'in pattern'lara ihtiyac duymayan, en ilerlemeye ve gelistirmeye acik dil oldugu gorusu..

neyse, sabah sabah daha fazla uzatmayayim..

bir de bir rica, patternlarin bence de en onemli islevi, yazilimcilar arasinda dil ve iletisim birligini saglamasi. o nedenle, siz de yazidaki pattern'larin turkce'lerinin yanina da en azindan ingilizcelerini ekleyebilirseniz parantez icinde, biz de daha iyi ogrenmis ve standart pattern'larin (inatla kalip demiyorum, dogru turkcesi oldugundan supheliyim) turkce isimlendirilmesini de saglamis olursunuz.
0
malkocoglu
Kaliplari, dil haricindeki alanlar icin de kullanabilirsiniz. Son zamanlarda revacta olan kalip kitaplari, teknoloji secimi, yazilim gereksinimleri analizi (requirement analysis) gibi konulara bile uygulanmaya basladi.

LISP hakkindaki yorumunuz ilginc.. Hakli olabilirsiniz. :)

Bilgi islem dunyasi bir bilim alani hala degil; Mesela karsilastiracak olsak, iliskisel veri tabanlarinin altinda kapi gibi matematiksel teori vardir, bir XYZ iliskilsel modelin 'dogrulugu' ispat edilebiliyor. Yazilim muhendisliginde bir nesnesel modelin dogrulugunu ispat edebiliyor muyuz? Bu soruya hala cevap hala hayir. Boyle gri bir alanda o yuzden zevkle ve renkler konusuyor, ya da tecrubeye dayali 'receteler'.

Kaliplari, bir onceki yazarin soyledigi gibi, cok buyutmemek lazim; Bizim takip ettigimiz kaliplarin 'formatidir'. Sunum tarzi olarak bilgi islem cozumleri icin kaliplarin uygun oldugunu dusunuyorum. Ayrica, baskalarinin kullandigi receteleri takip amaci ile de iyi olabiliyor. Template Method, Singleton, Observer kullanmasak bile, fikir olarak yararlandigimiz gorus acilari.

Iyi calismalar,



Görüş belirtmek için giriş yapın...

İlgili Yazılar

Otostopçunun Galaksi Rehberi : Yeniden Raflarda

butch

"Galaksinin haritası bile çıkarılmamış ücra bir köşesinde, gözlerden uzak bir güneşin yörüngesinde, tamamıyla önemsiz küçük bir gezegen döner. Gezegenin maymundan gelen halkı genellikle mutsuzdu. Ağaçlardan inmekle büyük hata yaptıklarını düşünenlerin sayısı gün geçtikçe artıyordu. Bazıları ağaçlara çıkmanın bile yanlış bir hamle olduğunu ve okyanuslardan asla ayrılmamış olmaları gerektiğini söylüyordu. Sonra adamın birinin, sırf değişiklik olsun diye bundan böyle nazik davranmanın ne kadar iyi olacağını dile getirdiği için ağaca çivilenmesinden yaklaşık iki bin yıl sonra, bir perşembe günü, o önemsiz gezegen bir kestirme yol uğruna yok olup gidecekti. Ama bilinmeyen gerçek şuydu ki gezegenin yaratılış amacı yalnızca Nihai Soruya cevap bulmak için yapılan bir deneydi..."

Douglas Adams'ın efsane dizisi Otostopçunun Galaksi Rehberi yeniden raflarda. (Kabalcı Yayınevi)

KNOPPIX ile disk kurtarma

yalcink01

Evdeki sistem yine çöktü. Garibimi bu sefer tekrar kurmak yerine, kurtaralım bari dedik. Knoppix'in bu konudaki maharetinden bahsedilip duruluyor. Ben de evdeki emektar Knoppix Cd si ile sistemi kurtarmaya karar verdim. İyi bir kılavuz bulup önce dersimizi çalıştık. Çalışırken yazmak gibi bir huyum olduğu için arada çevirmişte olduk. Benim işime yaramadı /* çünkü Knoppix CDim çalışmıyor. Garibim perişan olmuş yüzü gözü çizik içinde*/ belki birinin işine yarar. KNOPPIX İLE SİSTEM KURTARMA

Saygılarımla,
Yalçın KOLUKISA
NOT: Çeviride oldukça fazla imla hatası olma ihtimali mevcut. Henüz kontrol yapmaya fırsatım olmadı. Yazım ve imla hatalarını bildirirseniz sevinirim. Hafta sonu gerekli düzenlemeleri yapmak niyetindeyim.

Özgür Lineer Cebir Kitabı

FZ

Bilgi Üniversitesi'nin matematik bölümü e-posta listesine, oradan da bilgisayar bilimleri e-posta listesine gelmiş keyifli bir e-posta: İnanılması güç bir olay! "An open-source linear algebra text book" Open source (açık kaynak) olayının matematiğe katkısı olacağını nereden tahmin edebilirdim. Ama böyle bir proje var. Yapılmış, yapılıyor, yapılacak.

Internette bir matematik profesörünün başlattığı projeyle tamamen ücretsiz olarak (bu ücretsiz olma durumu yasal olarak da güvence altına alınmış!) bir lineer cebir kitabı yazılıyor. Hatta versiyonları var, sürekli güncelleniyor! En son 2006 şubatında güncellenmiş. Vereceğim site sırf bu iş için hazırlanmış! Çok değişik versiyonlarda sonuna kadar ücretsiz bir lineer cebir kitabı!

C Programlama Dilinin Evrimi

sametc

Aşağıdaki yazı benim çok ilgimi çekti paylaşmak isterim sanırım herkes benim gibi bu dilin nasıl ortaya çıktığını merak etmiştir.

C'nin tarihini tartışmaya UNIX'ten bahsedilmeden başlanamaz çünkü işletim sistemi ve sistem üzerinde çalışan programların bir çoğu C'de yazılmıştır.

Sistem Çağrıları Nedir ve Nasıl Çalışır?

anonim

Her şey burada başladı. FM'de yayımlanan bir yazıda gördüğüm "kernel mode" ve "user mode" deyimlerini araştırıken bu konuda açık bir Türkçe makale olmadığını farkettim. Bu konudaki araştırmalarım sonucu günlüğüme yazdığım ufak bir bilgi notundaki hataların Sn. Tonguç Yumruk tarafından düzeltilmesi ve gelip giden e-postalar sonucunda aklımdaki soru şuydu: "Sistem Çağrıları Nedir ve Nasıl Çalışır?"

Sorunun cevabı ise artık bu kısa makalede. Faydalı olması dileğiyle...