Üst Düzey Programlama

Benzer belgeler
Üst Düzey Programlama

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

Görsel Programlama DERS 07. Görsel Programlama - Ders07/ 1

Decorator Tasarım Şablonu

Görsel Programlama DERS 04. Görsel Programlama - Ders04/ 1

Üst Düzey Programlama

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:

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

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

Görsel Programlama DERS 08. Görsel Programlama - Ders08/ 1

Sınıf Diyagramları Amaç: Sınıf Diyagramları Nasıl Çizilir?

.com. Özcan Acar 2009 Kurumsal Java.com

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

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

Üst Düzey Programlama

Yazılım Mühendisliği 1

NB Macro Kullanımı Hakkında Genel Bilgiler

Üst Düzey Programlama

Üst Düzey Programlama

Hızlı Başlangıç Kılavuzu

ÖĞRENME FAALİYETİ 1 ÖĞRENME FAALİYETİ 1

SAB 103 TEMEL BİLGİSAYAR KULLANIMI

ÖNDER BİLGİSAYAR KURSU. Microsoft Office Kursu Eğitim İçeriği

SolidWorks Macro, SolidWorks API. Yusuf MANSUROĞLU Mühendislik Hizmetleri Müdür Yardımcısı

MVP ve Mediator ile Loose Coupled, Modüler UI Geliştirme

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

COĞRAFİ BİLGİ SİSTEMLERİ SERVER MİMARİSİ SERVER UYGULAMA GELİŞTİRME EĞİTİMİ

NESNEYE YÖNELİK TASARIM SÜRECİ

Temel Bilgi Teknolojileri - II Ayrıntılı Ders İçerikleri

BM208- Nesneye Dayalı Analiz ve Tasarım. Sunum 7

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı

ANKARA ÜNİVERSİTESİ ELMADAĞ MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS İÇERİKLERİ

UML ile Nesneye Yönelik Modelleme

Animasyon Teknikleri, Ses ve Video İşlemleri 1 / 18

Üst Düzey Programlama

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

TEMEL BİLGİTEKNOLOJİLERİ

BİL1002 Bilgisayar Programlama PROF.DR.TOLGA ELBİR

AMACSEO TEMASI KULLANIM KILAVUZU. AmacSeo temasının Amacdizayn.com tarafından hazırlanmış kullanım kılavuzudur. 1

Microsoft FrontPage Web Sitesi Hazırlama. Ögr.Gör.N.Nilgün Çokça

Ekran Arayüzü ve Obje Seçimi (V )

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

. ROBOTİK VE KODLAMA EĞİTİMİ ÇERÇEVESİNDE ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ DERSİ ÜNİTELENDİRİLMİŞ YILLIK DERS PLANI

Akdeniz Üniversitesi

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

Hızlı Başlangıç Kılavuzu

Analiz Raporu. Projenin amacının, konusunun, işlevinin ne olacağı, hangi yazılımlar kullanılacak gibi parametrelerin belirlenmesi.

Görsel Programlama DERS 01. Görsel Programlama - Ders01/ 1

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

Üst Düzey Programlama

Kepware Veritabanı Ürünleri. Teknolojiye Genel Bir Bakış

Fiziki Varlık Yönetimi Yakıt Kontrol Modülü Kullanıcı Kitabı

BÖLÜM 5 5. TABLO OLUŞTURMAK

Bu Kitap Kime Hitap Eder? 2 Kitapta Nelerden Bahsedilmiştir? 3 Kitabı Takip Edebilmek için Nelere İhtiyaç Duyacaksınız?

JAVA RMI ve Hibernate teknolojileri kullanılarak çok amaçlı bir yazılım altyapısı hazırlanması

1 GİRİŞ 1 Bu Kitap Kime Hitap Eder? 2 Kitapta Nelerden Bahsedilmiştir? 3 Kitabı Takip Edebilmek için Nelere İhtiyaç Duyacaksınız?

Yazılım Tanımlı Ağlar Ders 5 SDN Programlama. Mehmet Demirci

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

1 MİCROSOFT FRONTPAGE 2003 E GİRİŞ

Üst Düzey Programlama

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

Google Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi

Bölüm 2 Varlık-İlişki Veri Modeli: Araçlar ve Teknikler. Fundamentals, Design, and Implementation, 9/e

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

Üst Düzey Programlama

BİL-141 Bilgisayar Programlama I (Java)

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

GoFeed Kullanıcı Arayüzü

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

SPSS-Tarihsel Gelişimi

MAT214 BİLGİSAYAR PROGRAMLAMA II DERSİ Ders 12: Grafik Kullanıcı Arayüzü (Graphical User Interface-GUI)

Quick Installation Guide. Central Management Software

YAZILIM ÜRÜN HATTI DEĞĐŞKENLĐĞĐNĐN DENETĐM ÇEVRĐMĐ ĐLE ELE ALINMASI

1.Yazılım Geliştirme Metotları 1

EĞİTİM-ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ 6. SINIF 2. DÖNEM 2. SINAV ÇALIŞMA NOTLARI

Programlama Dilleri II. Bilgisayar ve Öğretim Teknolojileri Öğretmenliği

ELEKTRONİK BELGE YÖNETİM SİSTEMİ (EBYS) EĞİTİCİ KULLANICI EĞİTİMİ EĞİTİM SÜRELERİ

Portatif Yoğunluk/Özgül Ağırlık/Konsantrasyon Ölçer DMA 35

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi

OpenGL Uygulamaları. 1. Giriş. 2. OpenGL. Deney 2

C++ Dersi: Nesne Tabanlı Programlama 2. Baskı

Temel Bilgi Teknlolojileri 1. Ders notları 5. Öğr.Gör. Hüseyin Bilal MACİT 2017

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

Java EE web uygulamaları geliştirmek için kullanılan açık kaynak web uygulama framework üdür.

Blogcu Kullanma Kılavuzu

Üst Düzey Programlama

MAT214 BİLGİSAYAR PROGRAMLAMA II DERSİ Ders 18: Formatlı Grafik Kullanıcı Arayüzü Oluşturma

Java. Hakkımızda. Java Eğitimi

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

EM205 26/9/2014. Programlamaya giriş Algoritmalar. Amaçlar

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

AVRASYA UNIVERSITY. Dersin Verildiği Düzey Ön Lisans (X ) Lisans ( ) Yüksek Lisans( ) Doktora( )

C#(Sharp) Programlama Dili

İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ


Bilgisayar Programı Nedir?

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

Quick Installation Guide ST7501. Video Management Software

Veritabanı İşlemleri

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

Transkript:

Üst Düzey Programlama Tasarım Şablonları Üst Düzey Programlama-ders01/ 1

Tasarım Şablonları (Design Patterns) Şablon bir işi yapmak için bir yoldur. Yemek yaparken kullanılan tariflerde birer şablondur. Nesneye yönelik programlama 1980 lerden bu yana kullanılmaktadır. Nesneye yönelik programlama paradigmasını kullanan programcılar uygulamalarında çeşitli zorluklarla, problemlerle karşılaşmışlar ve bunları çözmüştür. Yıllar geçtikçe belirli bir tip problemi çözmek için yapılan işler benzer olmuştur. Bu benzer problem çözümlerine TASARIM ŞABLONLARI denilecektir. Her programcının probleme özel kendi mantığı olabilir ama başka bir kodu görüp o kodun sizin probleminize daha iyi bir çözüm getirdiğini gördüğünüzde o çözümü kullanmak daha akıllıca olacaktır. Üst Düzey Programlama-ders01/ 2

ADAPTER ŞABLONU Amacı var olan bir sınıfın arayüzünü (yani metotlarını) bu sınıfı kullanmak isteyen kişinin istediği bir arayüze dönüştürür. Diğer adı Wrapper dır. Kullanım nedenleri: Bazen bir uygulamada kullanılacak olan bir sınıf arayüzünün uyumsuzluğu nedeniyle kullanılamayabilir. Bu sınıfın elimizde sadece.class yani kapalı kodu olabilir; bu yüzden de sınıfın kodlarını değiştiremeyiz. Kodu açık olsa dahi kendi uygulamamız nedeniyle sınıfın arayüzünü yani kodlarını değiştiremeyiz; bu gibi durumlarda Adapter Şablon u kullanılır. Üst Düzey Programlama-ders01/ 3

ADAPTER ŞABLONU UML Diyagramı: İstemci Hedef İstek() Adaptee ozelistek() Adapter İstek() implementation adaptee.ozelistek() Üst Düzey Programlama-ders01/ 4

ADAPTER ŞABLONU Örn: Üst Düzey Programlama-ders01/ 5

ADAPTER ŞABLONU İstemci kullanıcı, bu sınıfların çizme işlemlerini ciz() isimli metodu kullanarak yapmalarını istemektedir. Daire sınıfında metot ismi ciz() değil ciztahtaya() dır. Bu durumda Daire sınıfının arayüzünü istediğimiz şekile çeviren bir ADAPTER sınıfı yazmalıyız. Üst Düzey Programlama-ders01/ 6

ADAPTER ŞABLONU İstediğimiz ADAPTER Sınıfı Örneği Üst Düzey Programlama-ders01/ 7

ADAPTER ŞABLONU Bu sınıfları kullanan bir örnek uygulama Üst Düzey Programlama-ders01/ 8

ADAPTER ŞABLONU Yazmış olduğumuz Adapter sınıfının her iki sıfıf gibi davranmasını istersek ne yapmalıyız? Bu tip durumlarda kullanılan Adapter a çift yönlü adapter denilir. Üst Düzey Programlama-ders01/ 9

ADAPTER ŞABLONU Sınıfların arayüzlerini Interface lere aktarırız. Üst Düzey Programlama-ders01/ 10

Çift Yönlü Adapter: ADAPTER ŞABLONU Üst Düzey Programlama-ders01/ 11

ADAPTER ŞABLONU Java dilinde grafik kullanıcı arabirimi işlemlerinde olaylarda kullanılan olay listener(dinleyicileri) yerine kullanılmak amacıyla Event Adapter (Olay adapter) ları geliştirilmişdir ve Java API içinde bulunmaktadır. Üst Düzey Programlama-ders01/ 12

BRIDGE ŞABLONU Bir sınıfın arayüzünü gerçekleştiriminden ayırmak için(metotların tanımı ile kodlanmasını) kullanılır. Böylece ikiside ayrı ayrı yapılabilir. İlk bakışta Adapter şablonuna benzemektedir. Adapter şablonu bir yada birden fazla sınıfın arayüzlerinin belirli bir sınıf gibi görünmesini sağlar. Bridge ise; arayüz ile gerçekleştirimi ayırır, böylece istemci de herhangi bir değişiklik olmadan sınıfın gerçekleştirimini değiştirebiliz. Ayrıca istemciden (yani sizin sınıfınızı kullanan kişiden) sınıfınızın gerçekleştirimini saklayabiliriz. Üst Düzey Programlama-ders01/ 13

BRIDGE ŞABLONU Örn: Üst Düzey Programlama-ders01/ 14

BRIDGE ŞABLONU Örn: Üst Düzey Programlama-ders01/ 15

BRIDGE ŞABLONU Örn: Üst Düzey Programlama-ders01/ 16

Composite ŞABLONU Composite bir nesnedir ve aynı yada benzer tipli nesneleri tutmak için kullanılır. Bir parça-bütün ilişkisi, bir ağaç yapısı sunar. Yani bir nesne içinde bir ve ya daha fazla aynı tipli nesne tutar ve bu nesnelerin her birinde aynı şekilde bir yada birden fazla nesne tutabilir yada tutmayabilir. Örneğin; bir şekil nesnesinin ekranı kaplamasını istiyoruz. Bu şekil içindeki bir grup şeklinde aynı şekilde yeniden boyutlanmasını isteyebiliriz; bu gibi durumlarda kullanılır. Üst Düzey Programlama-ders01/ 17

UML Diyagramı: Composite ŞABLONU İstemci Component defaultmethod() getchild() addcomponent() removecomponent() Leaf Composite defaultmethod() getchild() addcomponent() removecomponent() Üst Düzey Programlama-ders01/ 18

Composite ŞABLONU Örn: Üst Düzey Programlama-ders01/ 19

Composite ŞABLONU Örn: Üst Düzey Programlama-ders01/ 20

Composite ŞABLONU Örn: Üst Düzey Programlama-ders01/ 21

Composite ŞABLONU Örn: Üst Düzey Programlama-ders01/ 22

Decorator ŞABLONU Decorator şablonu belirli nesnelerin davranışlarını yeni türetilmiş sınıflar oluşturmadan değiştirmimize yardımcı olur. Varsayılım ki sekiz nesneyi kullanan bir uygulamamız var, fakat bunlardan üç tanesinin ek özelliklere ihtiyacı var. Bu el özellikleri dinamik olarak ekleme işlemini sağlar. Örneğin; bir GUI bileşenine kenarlıklar(border) eklemek istiyoruz yada kaydırma çubuğu (scrollbars) eklemek istiyoruz. Bu nesneden iki yeni nesne türeterek bu işlemi yapabiliriz. Bu şekilde yaparsak her nesne için kenarlık çizdirmek için kenarlık çizimide yapabilen yeni nesneler türetmemiz gereklidir. Hepsinde yapılan işlem kenarlık çizmedir, buna rağmen tüm kenarlığa ihtiyacı olan bileşenler için yeni sınıflar türetmemiz gerekir. Bu gibi durumlarda Decorator kullanılır. Üst Düzey Programlama-ders01/ 23

Decorator ŞABLONU UML Diyagramı: Component operation() ConcreateComponent operation() Decorator dostuff() Decorator(component) ConcreateDecoratorA dostuff() ConcreateDecoratorB dostuff() Üst Düzey Programlama-ders01/ 24

Decorator ŞABLONU Ör: Bir window nesnemiz olsun ve bu pencereye dinamik olarak kaydırma çubuğu(scroll) ve kenarlık(border) özelliği eklemek istiyelim. Üst Düzey Programlama-ders01/ 25

Decorator ŞABLONU Üst Düzey Programlama-ders01/ 26

Decorator ŞABLONU Üst Düzey Programlama-ders01/ 27

Decorator ŞABLONU Üst Düzey Programlama-ders01/ 28

Üst Düzey Programlama Tasarım Şablonları Üst Düzey Programlama-ders01/ 29