Design Patterns

13
Oğuz BAYRAM Oğuz BAYRAM [email protected] [email protected] www.oguzbayram.com www.oguzbayram.com Yazılım Projelerinde Tasarım Şablonları

description

Yazılım ekiplerinde tasarım kalıplarını yaymak ve kullanmak

Transcript of Design Patterns

Page 1: Design Patterns

Oğuz BAYRAMOğuz [email protected]@gmail.comwww.oguzbayram.com www.oguzbayram.com

Yazılım Projelerinde Tasarım Şablonları

Yazılım Projelerinde Tasarım Şablonları

Page 2: Design Patterns

GündemGündem

Tasarım Şablonları Nedir?Tasarım Şablonları Nedir?

Yazılım Fabrikalarında Tasarım Yazılım Fabrikalarında Tasarım Şablonlarının YeriŞablonlarının Yeri

Şablon BulutuŞablon Bulutu

Nasıl Uygulamalı?Nasıl Uygulamalı?

Fayda ve KazançlarFayda ve Kazançlar

Faydalı BağlantılarFaydalı Bağlantılar

Örnek AraçlarÖrnek Araçlar

Page 3: Design Patterns

Tasarım ŞablonlarıTasarım Şablonları

Tekrar eden Tekrar eden problemlere tekrar problemlere tekrar eden çözümlereden çözümler

Kökenleri ilk olarak Kökenleri ilk olarak yapı mimarisinde yapı mimarisinde kullanılan şablonlara kullanılan şablonlara dayanır. dayanır. Christopher Christopher AlexanderAlexander

İlk olarak Gang of Four İlk olarak Gang of Four olarak yazılım olarak yazılım endüstrisinde endüstrisinde kullanılmaya başlandı.kullanılmaya başlandı.

Bilinen Diğer Adları : Bilinen Diğer Adları : Motif, KalıpMotif, Kalıp

Page 4: Design Patterns

TahminlerTahminler

Yazılım ekipleri artan karmaşıklık düzeyi ve Yazılım ekipleri artan karmaşıklık düzeyi ve hızlı üretim için tasarım şablonlarından hızlı üretim için tasarım şablonlarından daha fazla yararlanacakdaha fazla yararlanacakYazılım takımları iletişim metaforu olarak Yazılım takımları iletişim metaforu olarak şablonları tercih edecekşablonları tercih edecekStandartlaşmanın önemi giderek artacakStandartlaşmanın önemi giderek artacakŞablonların çalışan tabanlarına yayılımı için Şablonların çalışan tabanlarına yayılımı için portal ve wikilere sıklıkla başvurulacakportal ve wikilere sıklıkla başvurulacak

Page 5: Design Patterns

Şablon Doküman FormatıŞablon Doküman FormatıŞablon AdıŞablon AdıSınıfıSınıfı : hangi şablon sınıf ya da sınıflarına dahil : hangi şablon sınıf ya da sınıflarına dahilAmacı Amacı : neden kullanıyoruz: neden kullanıyoruzBilinen Diğer Adları Bilinen Diğer Adları : bilinen başka adları varmı: bilinen başka adları varmıMotivasyon Motivasyon : bunu kullanmaya iten nedenler: bunu kullanmaya iten nedenlerUygulama Sahaları Uygulama Sahaları : nerelerde uygulanabiir: nerelerde uygulanabiirYapısı Yapısı : şablonun grafiksel gösterimi: şablonun grafiksel gösterimiKatılımcılar Katılımcılar : şablonda geçen sınıf ya da : şablonda geçen sınıf ya da nesnelerin rollerinesnelerin rolleriİş birlikleri İş birlikleri : nesneler arasındaki etkileşim nedir?: nesneler arasındaki etkileşim nedir?SonuçlarSonuçlar : kullanımı ile oluşan sonuçlar, yan : kullanımı ile oluşan sonuçlar, yan etkileri...etkileri...UygulamaUygulama : şablon nasıl uygulanacak : şablon nasıl uygulanacakÖrnek KodÖrnek Kod : şablonun kullanıldığı örnek bir kod : şablonun kullanıldığı örnek bir kod parçasıparçasıBilinen Kullanımları Bilinen Kullanımları : gerçek hayattan örnekler: gerçek hayattan örneklerİlişkili Şablonlar İlişkili Şablonlar : ilişkili diğer şablonlar: ilişkili diğer şablonlar

Page 6: Design Patterns

Örnek Tasarım ŞablonlarıÖrnek Tasarım Şablonları

Page 7: Design Patterns

Şablonlar ve Yazılım FabrikalarıŞablonlar ve Yazılım Fabrikaları

Yazılım ÜretimHattı

Mimari &Framework

Model Yönlendirmeli

Geliştirme

(Rehber & Referans) Tasarım Şablonları

How – toGuidance

Page 8: Design Patterns

Şablon BulutuŞablon Bulutu

Page 9: Design Patterns

Nasıl Uygulamalı?Nasıl Uygulamalı?

1. Envanter Hazırlama Firma özelinde tasarım şablonları envanteri

oluşturma Varolan tecrübeleri yansıtma

2. PR ve Adaptasyon Tasarım şablonları kullanım amaçları Wiki kullanımı Açık platform etiği

3. Paylaşım ve Yayılma Wiki ya da portal ortamlarında şablon

sınıflandırması Kişilerin şablonları paylaşması Şablonların gerçek uygulamalar ile

gösterilmesi Dağıtım kanalları : tagging, podcast

Page 10: Design Patterns

Fayda ve KazançlarıFayda ve Kazançları

StandartlaşmaStandartlaşma

Düşük maliyetli yazılım kalite Düşük maliyetli yazılım kalite güvencegüvence

Takım içi iletişimTakım içi iletişim

Hızlı ve mimariye uygun çözüm Hızlı ve mimariye uygun çözüm geliştirmegeliştirme

EsneklikEsneklik

Tekrar kullanılabilirlikTekrar kullanılabilirlik

Page 11: Design Patterns

Faydalı BağlantılarFaydalı Bağlantılar

http://msdn2.microsoft.com/tr-tr/http://msdn2.microsoft.com/tr-tr/practices/default(en-us).aspx practices/default(en-us).aspx http://xunitpatterns.com/http://ajaxpatterns.org/ http://www.designinginterfaces.com/ http://developer.yahoo.com/ypatterns/ http://www.enterpriseintegrationpatterns.com/ http://martinfowler.com/eaaCatalog/ http://www.dofactory.com/Default.aspx http://www.soaprpc.com/patterns/

Page 12: Design Patterns

Örnek AraçlarÖrnek Araçlar

Guidance ExplorerGuidance Explorer

Design-patternsDesign-patterns guidance packageguidance package

Microsoft DSL ToolsMicrosoft DSL Tools

Microsoft GAT & GAXMicrosoft GAT & GAX

ScrewTurnWikiScrewTurnWiki

Microsoft Sharepoint Server 2007Microsoft Sharepoint Server 2007

Page 13: Design Patterns

http://www.oguzbayram.com