İçindekiler. Okuma lisansı info acar, için verilmiştir. Çoğaltılması ve dağıtılması yasaktır.

Benzer belgeler
Kitapta UML diyagramları kullanılarak, tasarım şablonları görsel olarak açıklanmıştır. İçerik aşağıdaki bölümlerden oluşmaktadır:

Özcan Acar 2010 Kurumsal Java Akademisi.com

İçindekiler. Okuma lisansı info acar, için verilmiştir. Çoğaltılması ve dağıtılması yasaktır

.com. Özcan Acar 2009 Kurumsal Java.com

.com. Özcan Acar 2009 Kurumsal Java.com

YZM311 YAZILIM YAPIMI BÖLÜM 4 TASARIM KALIPLARI. Yrd. Doç. Dr. Volkan TUNALI Mühendislik ve Doğa Bilimleri Fakültesi / Maltepe Üniversitesi

.com. Kurumsal Java. Özcan Acar com

YZM 2108 Yazılım Mimarisi ve Tasarımı

Tasarım Prensipleri. KurumsalJava.com. Özcan Acar Bilgisayar Mühendisi

Bağlamsal Doğrulama için Bir Yazılım Tasarım Şablonu

Üst Düzey Programlama

1 FULL STACK DEVELOPMENT NEDIR? 1 Nasıl Full Stack Developer Olurum? 2

TASARIM KALIPLARI TASARIM DESENLERİ TASARIM ÖRÜNTÜLERİ TASARIM ŞABLONLARI

Business Delegate Tasarım Şablonu KurumsalJava.com

Design Patterns (Tasarım Kalıpları)

Üst Düzey Programlama

Spring Ekosisteminde Kurumsal Yazılım Geliştirme. Kenan Sevindik Harezmi Bilişim Çözümleri A.Ş.

YZM 2108 Yazılım Mimarisi ve Tasarımı

Lise Batıkent Lisesi

Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2

TÜMLEŞİK MODELLEME DİLİ. UML (Unified Modeling Language)

MVP, Observer ve Mediator Örüntüleri ile Yeniden Kullanılabilir Uygulama Bileşenleri Geliştirme

Facade (Cephe) Tasarım Şablonu KurumsalJava.com

Liskov Substitution Principle (LSP) Liskov un Yerine Gecme Prensibi KurumsalJava.com

Yazılım Örüntüleri (SE 461) Ders Detayları

(Fabrika Şablonu) Factory Pattern. Tasarım şablonlarının Creational (Yaratıcı) Sınıflandırmasına aittir. Fabrika(Factory) Şablonu

YZM 2108 Yazılım Mimarisi ve Tasarımı

Intercepting Filter Tasarım Şablonu KurumsalJava.com

Cahit GÜNGÖR Hacettepe Üniversitesi Bilişim Enstitüsü. Sorumluluk Zinciri. Kod Üretme (Code Generation)

NESNEYE YÖNELİK PROGRAMLAMA Unified Modelling Language (UML) Bütünleşik Modelleme Dili

Eylül 2007 de v1.0 ı yayınlanan SysML sayesinde endüstri mühendislerinin de ihtiyacı karşılanmış oldu.

ÖZGÜR YAZILIMLAR İLE J2EE

YZM 2108 Yazılım Mimarisi ve Tasarımı

Maliye Uzman Yardımcılığı Giriş Sınavı (Bilişim) 16 Mart 2014 A

Maliye Uzman Yardımcılığı Giriş Sınavı (Bilişim) 16 Mart 2014 B

NESNEYE YÖNELİK TASARIM SÜRECİ

KÖYSEL AKINCI B İ L G İ S A Y A R M Ü H E N D İ S İ

Üst Düzey Programlama

Client Server Database

Rahman USTA Editör Altuğ B. ALTINTAŞ Papatya Yayıncılık Eğitim

SE311 YAZILIM YAPIMI BÖLÜM 3 YAPIM TASARIMI. Yrd. Doç. Dr. Volkan TUNALI Mühendislik ve Doğa Bilimleri Fakültesi / Maltepe Üniversitesi

ANADOLU ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ ANABİLİM DALI DOKTORA YETERLİK SINAVI OCAK 2017

T.C. TRAKYA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ

Nesneye Yönelik Tasarım ve Programlama (COMPE 501) Ders Detayları

Chapter 5 Sistem Modelleme. Lecture 1. Chapter 5 System modeling

Spring Framework Eğitimi

Decorator Tasarım Şablonu

1. Tasarım Kalıbı Ne Demektir?

Nesneye Dayalı Yazılım Metrikleri ve Yazılım Kalitesi. Ural ERDEMİR, Umut TEKİN, Feza BUZLUCA

19 Şubat 2016 Cuma

Tasarım Desenleri ve Java Web Servisleri ile Çok Katmanlı Bir Sistem Tasarımı

YZM 2105 Nesneye Yönelik Programlama

CENG 302 Yazılım Mühendisliği Yazılım Mimarisi - Devam. Alper UĞUR

NESNEYE YÖNELİK PROGRAMLAMA. Yrd.Doç.Dr. Zeynep ORMAN

1 PROGRAMLAMAYA GİRİŞ

Görsel Programlama DERS 02. Görsel Programlama - Ders02/ 1

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Nesneye Dayalı Programlama

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 6. Yrd.Doç.Dr.Hacer Karacan

2. Bölüm Spring İle Tanışalım

Structural Patterns: Adapter Bridge Composite Decorator Facade Flyweight Proxy

UML ile Nesneye Yönelik Modelleme

YAZILIM MODELLEME VE TASARIM

Nesne Oluşturma Sırasının Tanımlanması Otomatik Veri Tipi Dönüşümü Tekil Nesneler ve Bean Scope Scope Bazlı Nesnelerin Enjeksiyonu Tanımlanabilir

Selsoft Eğitim Kataloğu

UNICASE.... kapsamlı bir CASE* aracı. *

DOOB: RAHAT Ürün Olarak Komuta Kontrol Yazılımı ve Geliştirme Deneyimleri

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan

Swing ve JDBC ile Database Erişimi

E-Üniversite için Esnek bir Framework Geliştirilmesi ve Uygulanması

Haz. Yrd.Doç.Dr. Yunus Emre Selçuk

Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015

BÖLÜM 9 MİMARİ STİLLERİ YZM211 YAZILIM TASARIMI. Yrd. Doç. Dr. Volkan TUNALI Mühendislik ve Doğa Bilimleri Fakültesi / Maltepe Üniversitesi

Olay Tabanlı Bir Yazılım Mimarisinde Bağımlılık İletimi ve Bileşen Gerçekleştirimi

Bilgisayar Programlama Dilleri

Yönetim Bilişim Sistemleri (Karma) - 1. yarıyıl Hukukun Temelleri Fundamentals of Law TR

YMT 312-Yazılım Tasarım Ve Mimarisi Mimari Stilleri

Unified Modeling Language

BLG Sistem Analizi ve Tasarımı. Öğr. Grv. Aybike ŞİMŞEK

YAZILIM MİMARİLERİ DERSİ BİLGİSAYAR PROGRAMCILIĞI

Chain of Responsibility Tasarım Şablonu KurumsalJava.com

SOLID Principles. Mehmet Aydın Ünlü. Kaynak :

Loose Coupling (LC) Esnek Bağ Tasarım Prensibi KurumsalJava.com

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism )

1.1. Referans Kodu: TBTK.KAMU-SM / AR-GE Personeli: Kamu Sertifikasyon Merkezinde yürütülen projelerde;

AIF: Kurumsal Uygulamalar İçin Bir Yazılım Çerçevesi

JavaServerFaces. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4

Tasarım Modelinin (Design Model) Oluşturulması

Java ile Tasarım Prensipleri ve Tasarım Örüntüleri

YAZILIM MODELLEME VE TASARIM

Open Closed Principle (OCP) Açık Kapalı Tasarım Prensibi KurumsalJava.com

YZM 2108 Yazılım Mimarisi ve Tasarımı

Fundamentals of Object-Oriented Programming (COMPE 723) Ders Detayları

BÖLÜM 1 YAZILIM TASARIMINA GİRİŞ YZM211 YAZILIM TASARIMI. Yrd. Doç. Dr. Volkan TUNALI Mühendislik ve Doğa Bilimleri Fakültesi / Maltepe Üniversitesi

Model Güdümlü Geliştirme ile Gömülü Kaynakların Yönetimi

Spring Application Framework e Giriş

Bölüm 12. Nesne yönelimli programlama desteği

BİL-141 Bilgisayar Programlama I (Java)

Nesneye Dayalı Programlama nedir? UML Nedir? Sınıf Diyagramları Nesneye Dayalı Programlamanın Temel Taşları Miras alma (Inheritance) Çok biçimlilik

GÖRSEL PROGRALAMA HAFTA 2 PROGRAMLAMA DİLLERİNE GİRİŞ

Transkript:

18 İçindekiler Lütfen Dikkatle Okuyunuz! Yasal Uyarı Bölüm Başlıkları Önsöz Kitabın İçeriği Nedir? Kitabın İçeriği Ne Degildir? Kitap Kim İçin Yazıldı? Yazar Hakkında Kitap Nasıl Okunmalı? Yazar İle İletişim PratikProgramci.com Kitapta Yer Alan Kod Örnekleri 1. Bölüm Tasarım Şablonları Giriş Tasarım Şablonu Nedir? Tasarım Şablonu Neden Kullanılır? Tasarım Şablonları Nasıl Kullanılmalıdır? Kitapta Yer Alan Tasarım Şablonları Oluşturucu tasarım şablonları Yapısal tasarım şablonları Davranışsal tasarım şablonları Java EE tasarım şablonları Diğer tasarım şablonları 2. Bölüm Nesneye Yönelik Programlama - Object Oriented Programming Interface Nedir? Soyut (Abstract) Sınıf Nedir? Interface Örneği Neden Abstract ve Interface Sınıflar Yeterli Değildir? 3. Bölüm Unified Modeling Language (UML) Giriş Sınıf Diyagramları Dizi (Sequence) Diyagramları Kullanım Senaryo (Usecase) Diyagramları Aktivite (Activity) Diyagramları 4. Bölüm Tasarım Prensipleri Loose Coupling (LC) - Esnek Bağ Open Closed Principle (OCP) - Açık Kapalı Prensibi Stratejik Kapama (Strategic Closure) Single Responsibility Principle (SRP) Tek Sorumluk Prensibi Liskov Substitution Principle (LSP) Liskov Yerine Geçme Prensibi Dependency Inversion Principle (DIP) Bağımlılıkların Tersine Çevrilmesi Prensibi Interface Segregation Principle (ISP) Arayüz Ayırma Prensibi Paket Tasarım Prensipleri (Principles of Package Design) Reuse-Release Equivalence Principle (REP) Tekrar Kullanım ve Sürüm Eşitliği Common Reuse Principle (CRP) Ortak Yeniden Kullanım Prensibi 12 13 16 23 23 28 28 34 34 44 48 49 56 62 62 63 66 68 69 72 72 73 79 83 83 85 90 90 92 92 93

19 Common Closure Principle (CCP) Ortak Kapama Prensibi Acyclic Dependency Principle (ADP) Çevrimsiz Bağımlılık Prensibi Stable Dependencies Principle (SDP) Stabil Bağımlılıklar Prensibi Stable Abstractions Principle (SAP) Stabil Soyutluk Prensibi Soyutluk (A) ve Instability (I) Arasındaki İlişki Iyi Bir Tasarım Kalıtım yerine kompozisyon kullanılmalıdır Statik metot ve tekil yapılar kullanılmamalıdır Bağımlılıkların izole edilmesi gerekir Bağımlılıkların enjekte edilmesi testleri kolaylaştırır 5. Bölüm Oluşturucu Tasarım Şablonları - Creational Patterns Fabrika (Factory) Fabrika tasarım şablonu ne zaman kullanılır? Fabrika Metodu (Factory Method) Fabrika metodu tasarım şablonu ne zaman kullanılır? Soyut Fabrika (Abstract Factory) Soyut fabrika tasarım şablonu ne zaman kullanılır? Tekillik (Singleton Pattern) Tekillik tasarım şablonu ne zaman kullanılır? Yapıcı (Builder) Yapıcı tasarım şablonu ne zaman kullanılır? Prototip (Prototype) Prototip tasarım şablonu ne zaman kullanılır? Nesne Havuzu (Object Pool) Nesne havuzu tasarım şablonu ne zaman kullanılır? 6. Bölüm Yapısal Tasarım Şablonları - Structural Patterns Adaptör (Adapter) Sınıf Adaptörü (Class Adapter) Nesne Adaptörü (Object Adapter) Adaptör tasarım şablonu ne zaman kullanılır? Köprü (Bridge) Köprü tasarım şablonu ne zaman kullanılır? Cephe (Facade) Cephe tasarım şablonu ne zaman kullanılır? Bileşik (Composite) Bileşik tasarım şablonu ne zaman kullanılır? Dekoratör (Decorator) Dekoratör tasarım şablonu ne zaman kullanılır? Vekil (Proxy) Sanal Vekil (Virtual Proxy) Koruyucu Vekil (Protection Proxy) 94 95 97 99 100 102 102 103 104 105 109 109 110 143 144 144 154 154 156 156 157 157 161 175 176 176 187 187 188 192 193 193 194 195

20 Koruyucu Vekil (Protection Proxy) Dinamik Vekil Uzak Vekil Vekil tasarım şablonu ne zaman kullanılır? Sinek Siklet (Flyweight) Sinek siklet tasarım şablonu ne zaman kullanılır? 7. Bölüm Davranışsal Tasarım Şablonları Komut (Command Pattern) Komut tasarım şablonu ne zaman kullanılır? Döngücü (Iterator Pattern) Döngücü tasarım şablonu ne zaman kullanılır? Hatırlayan (Memento Pattern) Memento tasarım şablonu ne zaman kullanılır? Durum (State Pattern) Durum tasarım şablonu ne zaman kullanılır? Gözetleyici (Obverser Pattern) Gözetleyici tasarım şablonu ne zaman kullanılır? Strateji (Strategy Pattern) Strategy tasarım şablonu ne zaman kullanılır? Sorumluluk Zinciri (Chain Of Responsibility Pattern) Chain of Responsibility tasarım şablonu ne zaman kullanılır? Aracı (Mediator Pattern) Mediator tasarım şablonu ne zaman kullanılır? Ziyaretçi (Visitor Pattern) Visitor tasarım şablonu ne zaman kullanılır? Şablon Metodu (Template Method Pattern) Template Method tasarım şablonu ne zaman kullanılır? Yorumlayıcı (Interpreter Pattern) Yorumlayıcı tasarım şablonu ne zaman kullanılır? 8. Bölüm JEE Tasarım Şablonları Java Enterprise Edition (JEE) Platformu MVC Tasarım Tasarım Şablonu Front Controller Tasarım Şablonu Front Controller tasarım şablonu ne zaman kullanılır? DAO (Data Access Objects) Tasarım Şablonu DAO tasarım şablonu ne zaman kullanılır? Servise Yönlendirme Tasarım Şablonu (Business Delegate) Business Delegate tasarım şablonu ne zaman kullanılır? 195 206 218 219 219 220 2 2 228 228 2 243 244 244 0 0 0 8 8 8 276 276 277 7 8 8 1 1 3 3 4 4 5 0 0 0 3 3

21 Servis Lokalizasyonu Tasarım Şablonu (Service Locator) Service Locator tasarım şablonu ne zaman kullanılır? İlişkili tasarım şanlonları Filtreleme Tasarım Şablonu (Intercepting Filter) Intercepting Filter tasarım şablonu ne zaman kullanılır? Business Object Tasarım Şablonu Business Object tasarım şablonu ne zaman kullanılır? 9. Bölüm Daha Fazla Tasarım Şablonu DataMapper Tasarım Şablonu DataMapper tasarım şablonu ne zaman kullanılır? RequestMapper ve ResponseMapper Tasarım Şablonları RequestMapper/ResponseMapper tasarım şablonu ne zaman kullanılır? Active Record Tasarım Şablonu Active Record tasarım şablonu ne zaman kullanılır? Message Channel Tasarım Şablonu Message Channel tasarım şablonu ne zaman kullanılır? Message Router Tasarım Şablonu Message Router tasarım şablonu ne zaman kullanılır? Registry Tasarım Şablonu Registry tasarım şablonu ne zaman kullanılır? Null Object Tasarım Şablonu Null Object tasarım şablonu ne zaman kullanılır? Dependency Injection Tekniği Dependency Injection tekniği ne zaman kullanılır? 10. Bölüm Yazılım Mimarisi ve Tasarım Şablonlarının Pratik Kullanımı 3 Katmanlı Mimari Otel Rezervasyon Programı UML Diagramı Gösterim Katmanı Sınıfları İşletme Katmanı Sınıfları Veri Depolama / Edinme Katmanı UML Dizge (Sequence) Diagramı UML Kullanım Senaryosu (Use Case) Diagramı Gösterim (Presentation) Katmanı İşletme (Business) Katmanı Veri Depolama (Persistence) / Edinme Katmanı Bu Uygulamayı Nasıl Çalışır Hale Getirebilirsiniz Son Söz 3 3 3 3 335 335 336 337 338 340 340 341 347 347 348 367 368 370 370 371 373 375 376 376 377 378 379 380 394 402 409 412

22