Tasarım deseni - Design pattern
Bir tasarım modeli tasarım soruna bir çözüm yeniden kullanılabilir bir formudur. Fikir, mimar Christopher Alexander tarafından tanıtıldı ve başta yazılım mühendisliği olmak üzere çeşitli diğer disiplinlere uyarlandı .
Ayrıntılar
Belirli bir alanla ilgili organize edilmiş tasarım kalıpları koleksiyonuna kalıp dili denir . Bu dil, tasarımcıların karşılaştığı durumları tartışmak için ortak bir terminoloji sağlar.
Bu dilin öğeleri, kalıp adı verilen varlıklardır. Her kalıp, çevremizde tekrar tekrar meydana gelen bir sorunu tanımlar ve daha sonra bu sorunun çözümünün özünü, bu çözümü aynı şekilde iki kez yapmadan milyonlarca kez kullanabileceğiniz şekilde tanımlar. .
— Christopher Alexander, Bir Model Dili
Bir kalıbı belgelemek, belirli bir durumun neden sorunlara neden olduğunu ve çözümü vermek için kalıbın bileşenlerinin birbirleriyle nasıl ilişkili olduğunu açıklamayı gerektirir. Christopher Alexander , ortak tasarım problemlerini "çatışan güçlerden" kaynaklanan olarak tanımlar - örneğin, bir odanın güneşli olmasını istemek ile yaz öğleden sonraları aşırı ısınmamasını istemek arasındaki çatışma gibi. Bir desen, tasarımcıya odaya kaç pencere koyacağını söylemez; bunun yerine, tasarımcıyı kendi özel uygulamaları için en iyi karara yönlendirmek için bir dizi değer önerecektir. Örneğin Alexander, ışığı odanın her tarafına yönlendirmek için yeterli pencerenin dahil edilmesi gerektiğini öne sürüyor. Bunu iyi bir çözüm olarak görüyor, çünkü bunun, oda sakinlerinin odadan aldığı keyfi arttırdığına inanıyor. Diğer yazarlar, ısıtma maliyetlerine veya malzeme maliyetlerine daha fazla değer verirlerse farklı sonuçlara varabilirler. Kalıbın yazarı tarafından hangi çözümün "en iyi" olduğunu belirlemek için kullanılan bu değerler de kalıp içinde belgelenmelidir.
Model belgeleri, ne zaman uygulanabilir olduğunu da açıklamalıdır. İki ev birbirinden çok farklı olabileceğinden, evler için bir tasarım modeli her ikisine de uygulanabilecek kadar geniş olmalı, ancak tasarımcının karar vermesine yardımcı olmayacak kadar belirsiz olmamalıdır. Bir kalıbın kullanılabileceği durumların aralığına bağlamı denir. Bazı örnekler "tüm evler", "tüm iki katlı evler" veya "insanların zaman geçirdiği tüm yerler" olabilir.
Örneğin, Christopher Alexander'ın çalışmasında, bir ameliyat merkezindeki otobüs durakları ve bekleme odaları, "BEKLENECEK BİR YER" kalıbı bağlamındadır.
Örnekler
- Yazılım tasarım deseni , yazılım tasarımında
- Yazılım mimarisi için mimari desen
- Etkileşim tasarımında / insan-bilgisayar etkileşiminde kullanılan etkileşim tasarımı deseni
- Pedagojik kalıplar , öğretimde
- Desen bahçeciliği , bahçecilikte
İş modellerinin de tasarım kalıpları vardır. Bkz. İş modeli § Örnekler .
Ayrıca bakınız
Referanslar
daha fazla okuma
- Erl, Thomas (2009). SOA Tasarım Modelleri . Thomas Erl'den Prentice Hall hizmet odaklı bilgi işlem serisi. Upper Saddle River, NJ: Prentice Hall . ISBN'si 978-0-13-613516-6. OCLC 156832597 .
- Leitner, Helmut (2015). Örüntü Teorisi: Christopher Alexander'ın İzlerine Giriş ve Perspektifler . Desen araştırma serisi. 1 . Graz: Helmut Leitner, HLS Yazılımı. ISBN'si 978-1-5056-3743-4. OCLC 913795677 .
- Pree, Wolfgang (1995). Nesneye yönelik yazılım geliştirme için tasarım kalıpları . ACM Basın kitapları. Wokingham, İngiltere; Okuma, Mass.: Addison-Wesley . ISBN'si 0201422948. OCLC 31291883 .
- Schmidt, Douglas C.; Buschmann, Frank ; Henney, Kevlin (2007). Kalıp Odaklı Yazılım Mimarisi: Kalıplar ve Kalıp Dilleri Üzerine . Yazılım tasarım desenlerinde Wiley serisi. 5 . Chichester, Birleşik Krallık; New York: Wiley . ISBN'si 9780471486480. OCLC 62532759 .
-
Tidwell, Jenifer; Bira, Charles; Valencia, Aynne (2020) [2005]. Arayüzlerin Tasarlanması: Etkili Etkileşim Tasarımı İçin Modeller (3. baskı). Sivastopol, CA: O'Reilly . ISBN'si 9781492051961. OCLC 1138701080 .
Her biri somut örnekler, öneriler ve uyarılar içeren bir kalıp koleksiyonu olarak yaygın UI tasarım sorunlarına çözümler sunar.