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

Hackers: Sıradışı Bir Dönemin Sıradışı Hikayesi

FZ

2004 yazının sıcak günlerinden birinde, e-postalarımı kontrol ederken beni şaşırtan şu iletiyi karşımda gördüm: "İstemiş olduğunuz Hackers - Heroes of the Computer Revolution adlı yayın kütüphanemize gelmiştir ve teknik işlemleri yapılmaktadır. İşlemler bittikten sonra yayın kataloğumuzdan görülebilir. Bu durumu online kataloğumuzdan takip edebilirsiniz. -- İTÜ Kütüphane ve Dökümantasyon Daire Başkanlığı"

Bir an için duraksadım ve şaşırdım, ne olduğunu tam olarak kavrayamamıştım. Daha sonra ise hatırlama süreci ile parçalar yavaş yavaş yerine oturmaya başladı...

Steven Levy'nin bir döneme ışık tutan ve GNU/Linux'tan çok daha fazlasına tarihi bir perspektifle yer veren meşhur kitabının Ergin Sevinç tarafından yazılmış eleştirisinin devamını ileriseviye.org adresinde okuyabilirsiniz.

D. E. Knuth´tan Özel Dersler

malkocoglu

Dr. Bilgisayar Bilimi'nin kendisinden özel ders almak ister miydiniz? Donald Knuth'un bilgisayar bilim derslerini buradan izleyebilirsiniz.

Bilişsel Bilimlere İlişkin Bir Roman: `Düşünce Balonları'

anonim

Bu gün öğlen saatlerinde Yahoo Coglist'e bilişsel bilimler konusunda yazılmış ilginç bir kitabın eleştirisi düştü. Ben de FM camiası ile paylaşmak gerektiğine karar verdim.

Daha birkaç hafta önce çıkan, David Lodge’un yazdığı, Meram Erdoğan’ın ustaca çevirisiyle Türkçe’ye kazandırdığı ‘Düşünce Balonları’ adlı kitap, Türkçe’de, bilişsel bilimlere ilişkin ilk roman oldu.

VZA Yöntemi İle Verimlilik Analizi

FZ

Bir firmada bilgi üretimi, birikimi ve kullanımı, nitelikli insangücü, sosyal, fiziksel altyapı gibi çeşitli kaynakların dengeli dağılmaması, departmanların yapısal ve örgütsel farklılıkları ile birleştiğinde, iş akışı açısından potansiyel sorun alanlarının oluşmasına yol açmaktadır.

Bu saptamalar altında, departman değerlendirmesinde sadece iş hacmi, üretim miktarı, ciroya etki gibi büyüklüklerle ölçüm yapmanın yanlış olmasa da eksik bir yaklaşım olduğu söylenebilir. Departman aktivitelerini mümkün kılan insan kaynağı, sosyal ve fiziki altyapı, teknoloji ve yenilik kapasitesi gibi departmana tahsis edilen kaynakların da irdelenmesi ve bu kaynakların, firma ciro hedefine ulaşırken ne derece verimli kullanılabildiğinin de analiz edilebilmesi gerekmektedir. Dolayısıyla departmanın, sonuç odaklı etkinlik göstergeleri haricinde, aktivitelerinin niteliğini değerlendiren verimlilik göstergeleri açısından da yorumlanabilmesi gereklidir.

Birden çok ve farklı ölçeklerle ölçülmüş ya da farklı ölçü birimlerine sahip girdi ve çıktıların karşılaştırma yapmayı zorlaştırdığı durumlarda, karar birimlerinin göreceli performansını ölçmeyi amaçlayan doğrusal programlama tabanlı bir teknik olan Veri Zarflama Analizi, Günhan Kürkçüoğlu tarafından (Tolga Kürkçüoğlu'nun da katkıları ile) gerçekleştirilen ve bilgi işlem yöntemlerinin, bilgisayarların üretime katkısına önemli bir örnek teşkil eden bu çalışmada metod olarak kullanılmıştır.

SMTP Sunucuların Çoklu E-posta Dağıtım Yöntemleri

honal

Simple Mail Transfer Protocol (SMTP) tek seferde bir mesajı birden çok kullanıcıya iletme yetisine sahiptir, hatırlayacak olursak bir mesajın iletiminde RCPT komutunu kullanıyorduk, burada da MTA'nın yaptığı birden fazla RCPT komutu kullanarak bir mesajı birden çok alıcıya yollamaktır. Tabii bunun gerçekleşmesi için e-posta yollanan kullanıcıların aynı sunucu üzerinde olması gerekir.

Yazının devamına http://cc.kou.edu.tr/huzeyfe/multi_rcpt.htm adresinden erişebilirsiniz