İçeriğe geç
academia.sh

Kurs Orta

Tasarım Kalıpları

Bu kursun sonunda

Kursa başla

01

Yaratımsal Kalıplar

Bir nesnenin nasıl kurulacağı bilgisinin onu kullanan koddan ayrılması: kalıp kavramının problem–çözüm–sonuçlar üçlüsüyle tanımlanması, yaratımın fabrika yöntemi ve soyut fabrikayla soyutlanması, çok parametreli kurulumun adım adım yürütülmesi, kopyalayarak yaratma, tekil nesnenin küresel durum açısından eleştirisi ve yaratım sorumluluğunun bağımlılık enjeksiyonuyla dışarı alınması.

  1. 01 Kalıp Kavramı Bir kalıbın problem, çözüm ve sonuçlar üçlüsü olarak tanımlanması: gönderi kitaplığında iki ayrı dersten tanıdık olan kayıt çözümünün taşıyıcı seçimine uygulanması, aynı çıktıyı veren iki sürümün dosya sayısı, ithal kenarı sayısı, tür adının geçtiği yer sayısı ve en uzun ithal yolu ile ölçülmesi, kazancın ve bedelin ayrı ayrı sayılması.
  2. 02 Fabrika Yöntemi ve Soyut Fabrika Nesne yaratımının bir yönteme ve bir aile üretecine çekilmesi: üretecin hangi tarifeyi kuracağına alt tipin karar verdiği fabrika yöntemi, birbirine uyması gereken tarife, rota ve etiket üçlüsünü birlikte üreten soyut fabrika, çağrı yerinde eşleştirme yapılan sürümde sessizce kabul edilen yanlış birleşimlerin sayılması ve yeni bir taşıyıcı ailesi eklendiğinde düzenlenen dosya sayısının karşılaştırılması.
  3. 03 Kurucu Çok alanlı bir nesnenin adım adım kurulması: sekiz sıralı parametreli çağrı ile adlandırılmış adımlardan oluşan kurucunun aynı bozma kümesiyle karşılaştırılması, yer değiştiren argümanların ve eksik alanların kaç durumda sessizce kabul edildiğinin sayılması, geçirilen parametre sayısının düşüşü ve kalıbın satır cinsinden bedeli.
  4. 04 Prototip Nesneyi kurmak yerine var olan bir nesneyi kopyalayarak yaratma: türetilmiş tarifelerin alanlarını elle yazan sürüm ile prototipi klonlayan sürümün karşılaştırılması, prototipe yeni bir alan eklendiğinde eksik alan sayısının ölçülmesi, sığ kopyanın paylaştığı alt nesne sayısının sayılması ve türetme zincirinin sessiz değişiklik olarak geri dönen bedeli.
  5. 05 Tekil Tek örneğin küresel durum olarak tutulmasının sınanabilirlik cinsinden ölçülmesi: aynı dört sınamanın modül düzeyinde tek örnek tutan kayıt ile örnek üreten kayda uygulanması, başarısız sınama sayısının sayılması, sınama sırası değiştirildiğinde sonucun değişmesi ve sıfırlama düzeneğinin dışa açılan yüzeye eklediği adın ölçülmesi.
  6. 06 Bağımlılık Enjeksiyonu Yaratım sorumluluğunun kullanan koddan alınıp bileşim köküne taşınması: bağımlılıklarını kendisi kuran ücret modülü ile bağımlılıklarını çağrıda alan sürümün doğrudan bağ sayısı ve ithal kapanışı boyutuyla karşılaştırılması, indirim politikası değiştiğinde düzenlenen dosyanın sayılması ve kapanışın yok olmayıp yer değiştirdiğinin gösterilmesi.

02

Yapısal Kalıplar

Nesnelerin ve arayüzlerin bileşimle düzenlenmesi: uyumsuz arayüzlerin bağdaştırıcıyla köprülenmesi, soyutlama ile gerçekleştirimin köprü kalıbıyla ayrı evrimi, ağaç yapılarının bileşikle tek biçim ele alınması, davranışın dekoratörle katmanlanması, karmaşık alt sistemin cepheyle sadeleştirilmesi, paylaşımla bellek tasarrufu ve erişimin vekil aracılığıyla denetlenmesi.

  1. 01 Bağdaştırıcı Uyumsuz arayüzlerin köprülenmesi: iki dış taşıyıcı sağlayıcısının sözlüğüne dokunan dosyaların çevirinin istemciye dağıldığı düzende ve bağdaştırıcı arkasındaki düzende sayılması, üçüncü sağlayıcı eklendiğinde düzenlenen dosya ile eklenen satırın karşılaştırılması ve kalıbın dosya, satır ve dolaylılık cinsinden bedelinin çıkarılması.
  2. 02 Köprü Soyutlama ile gerçekleştirimin ayrı evrimi: rapor türü ve çıktı biçimi eksenlerinin kalıtımla çarpıldığı düzen ile iki hiyerarşiye bölündüğü düzenin tip, satır ve çıktı gövdesi sayısıyla karşılaştırılması, üçüncü biçim eklendiğinde eklenen tip ve satırın ölçülmesi, çarpımın toplama inmesinin bedeli.
  3. 03 Bileşik Ağaç yapılarının tek biçim ele alınması: konsolide gönderi ağacında dört hesabın tür sınamasını her gövdede tekrarladığı düzen ile yaprak ve düğümü aynı arayüzün arkasına koyan düzenin sınama sayısıyla karşılaştırılması, yeni düğüm türü ve yeni işlem eklendiğinde dokunulan dosyanın ölçülmesi, şeffaflık ile güvenlik arasındaki seçim.
  4. 04 Dekoratör Davranışın katmanlanarak eklenmesi: birbirinden bağımsız açılıp kapanan dört ücret ekinin her bileşimi için bir alt sınıf üreten düzen ile aynı arayüzü koruyarak saran dekoratör zincirinin tip ve satır sayısıyla karşılaştırılması, beşinci ek geldiğinde büyümenin ölçülmesi, zincir derinliği ve sıra duyarlılığı cinsinden bedel.
  5. 05 Cephe Karmaşık alt sistemin sadeleştirilmesi: altı adımlı gönderi kabul akışını istemcilerin kendisinin sıraladığı düzen ile tek giriş noktası arkasına alan düzenin doğrudan bağ, ithal kapanışı ve bilinen adım sayısıyla karşılaştırılması, bir adım atlandığında ortaya çıkan farkın ölçülmesi ve akışa yeni adım eklendiğinde düzenlenen dosyaların sayılması.
  6. 06 Sinek Siklet Paylaşımla bellek tasarrufu: toplu ücretlendirmede her gönderinin kendi tarife kopyasını taşıdığı düzen ile değişmeyen tarife bilgisini paylaşılan nesnede toplayan düzenin nesne sayısı ve işaretlenmiş yığın ölçümüyle karşılaştırılması, paylaşımın değiştirilemezlik zorunluluğu ve paylaşım genişliği cinsinden bedeli.
  7. 07 Vekil Erişimin araya girerek denetlenmesi: tarife kaynağına giden çağrı sayısının vekilsiz ve önbellekleyen vekilli bağlamada sayılması, sanal vekille kaynağın ilk isteğe kadar kurulmaması, koruyan vekille nesne düzeyinde araya girme ve bedelin dolaylılık basamağı ile bayat okuma sayısıyla ölçülmesi.

03

Davranışsal Kalıplar

Nesneler arasındaki sorumluluk dağılımının ve iletişimin düzenlenmesi: algoritmanın çalışma zamanında değiştirilmesi, olay bildirimiyle gevşek bağlanma, istemin nesneleştirilip geri alınabilmesi, değişmeyen iskeletle değişen adımların ayrılması, durum makinesinin nesnelerle ifadesi, isteğin işleyiciler arasında aktarılması, gezinme ile işlemin ayrılması, etkileşimin merkezileştirilmesi, küçük dil ve boş davranış kalıpları ile gereksiz dolaylılığın maliyeti.

  1. 01 Strateji Ücret hesaplama algoritmasının çağrı yerine gömüldüğü tasarım ile tarifenin parametre olarak geçildiği tasarımın karşılaştırılması: tek koşumda denenebilen algoritma sayısı, yeni tarife eklendiğinde düzenlenen dosya ve satır sayısı, kalıbın bedeli olarak eklenen dosya sayısı ve çağrı yerinden izlenmesi gereken olası gövde sayısı.
  2. 02 Gözlemci Teslimat durumu değiştiğinde çalışan dört işin doğrudan çağrılması ile abonelik üzerinden bildirilmesinin karşılaştırılması: giden bağ sayısı, ithal kapanışı boyutu, beşinci iş eklendiğinde düzenlenen dosyanın hangi katmanda olduğu ve kalıbın bedeli olarak statik çağrı sayısının sıfıra düşmesi.
  3. 03 Komut Gönderi üzerindeki işlemlerin doğrudan çağrı olarak yazılması ile nesneye çevrilmesinin karşılaştırılması: geri alınabilen işlem sayısı, denetim izi kaydı sayısı, izi doğrudan sürümde üretmek için düzenlenen işlem gövdesi sayısı ve ortaya çıkan ortak bağlaşım, kalıbın bedeli olarak dosya sayısı ile çağrı derinliği.
  4. 04 Şablon Yöntem Ücretlendirme adımlarının üç taşıyıcı dosyasında ayrı ayrı sıralanması ile iskeletin tek yere alınmasının karşılaştırılması: en az iki dosyada yinelenen satır sayısı, adım sırası sapmasının ürettiği tutar hatası, yedinci adım eklendiğinde düzenlenen dosya sayısı ve kalıbın bedeli olarak toplam satır artışı ile boş kanca sayısı.
  5. 05 Durum Teslimat yaşam döngüsünün beş bayrakla ve iç içe koşullarla tutulması ile her durumun kendi geçişlerini bilen nesnelere çevrilmesinin karşılaştırılması: otuz durum-olay çiftinde kabul edilen geçersiz geçiş sayısı, çevrimsel karmaşıklık, temsil edilebilir birleşim sayısı, yeni durum eklendiğinde değişen satır sayısı ve kalıbın bedeli olarak geçiş hedefi hatasının gecikmeli görünmesi.
  6. 06 Sorumluluk Zinciri İndirim kurallarının tek gövdede sıralanması ile isteğin işleyiciler arasında aktarılmasının karşılaştırılması: kural sırası değiştiğinde değişen satır sayısı, üç yeni kural eklendiğinde en karmaşık gövdenin çevrimsel karmaşıklığı ile dosya sayısının nasıl büyüdüğü ve kalıbın bedeli olarak hiçbir kurala uymayan isteğin ayırt edilemeyişi.
  7. 07 Yineleyici ve Ziyaretçi Rota ağacındaki beş işlemin her birinin kendi gezinme kodunu taşıması ile gezinmenin yineleyiciye, tür ayrımının ziyaretçiye alınmasının karşılaştırılması: gezinme kodu taşıyan yer sayısı, gezinme sırası değiştiğinde düzenlenen dosya sayısı, yeni düğüm türü eklendiğinde sessizce yanlış sonuç veren işlem sayısı ile hatayı bildiren işlem sayısı.
  8. 08 Arabulucu ve Anımsatıcı Operatör formundaki dört alanın birbirini doğrudan tanıması ile yönlendirmenin tek nesnede toplanmasının karşılaştırılması: alanlar arası bağ sayısı, güncelleme çağrısı sayısı, bağ sayısının alan sayısıyla büyümesi; ayrıca durum saklamanın dışarıdan erişilen iç alan sayısı ve fişin taşıdığı alan sayısıyla ölçülmesi.
  9. 09 Yorumlayıcı ve Boş Nesne Tarife kurallarının kod olarak yazılması ile küçük bir kural dilinin metinden yorumlanmasının karşılaştırılması: yeni kural eklendiğinde düzenlenen kod dosyası ve veri satırı sayısı, kural ağacının düğüm sayısı, geçersiz metnin yakalanması; ayrıca indirim yokluğunun boş değerle ve boş nesneyle temsilinin boş değer denetimi sayısı ve hata fırlatan çağrı yeri sayısıyla ölçülmesi.
  10. 10 Kalıp Kötüye Kullanımı Beş davranışsal kalıbın tek gerçekleştirimle uygulandığı sürümün kalıpsız sürümle aynı ölçülerle karşılaştırılması: dosya sayısı, anlamlı satır, ithal kapanışı, en karmaşık gövde ve çağrı derinliği bedelleri ile sıfır kalan kazançlar; konunun dokuz dersinde ölçülen eşiklerin toplu tablosu.

04

Kurumsal Uygulama Kalıpları

İş mantığı ile kalıcılık arasındaki sınırın kalıplarla kurulması: işlem betiği ile alan modelinin iki düzenleme olarak karşılaştırılması, aktif kayıt ile veri eşleyicinin sonuçlarının tartılması, toplama erişiminin depo arkasına alınması ve işlem sınırının iş birimiyle yönetilmesi, aynı nesnenin tekilliğinin korunması, katmanlar arası veri taşıma, uygulama sınırının servis katmanıyla tanımlanması ve çalışma zamanında tip modelleme.

  1. 01 İşlem Betiği ve Alan Modeli İş mantığının iki düzenlenişi: her senaryoyu baştan sona yürüten işlem betiği ile kuralı veriyi taşıyan nesnenin üzerine koyan alan modeli, aynı kuralın kaç yerde uygulandığının sayılması, iki düzenin aynı girdilerde eşitliğinin sınanması ve alan modelinin dosya, ad ve dolaylılık bedelinin tartılması.
  2. 02 Aktif Kayıt ve Veri Eşleyici Nesne ile saklanan kayıt arasındaki çevrimin nereye konulacağı: çevrimi nesnenin üzerine koyan aktif kayıt ile ayrı bir eşleyiciye veren veri eşleyicinin karşılaştırılması, alan modülündeki kalıcılık izinin ve ithal kapanışının sayılması, iki sürümün gidiş-dönüşte eşitliği ve ikinci bir saklama biçiminin alan modülüne dokunmadan eklenmesi.
  3. 03 Depo ve İş Birimi Bir arada tutulan nesne kümesinin erişim ve yazma sınırı: elle eşleyici çağıran uygulama katmanı ile toplamayı alan diliyle veren depo ve değişen satırları tek noktada toplayan iş birimi, üç düzende yazma çağrısı, yazma noktası ve arama çağrısı sayılarının karşılaştırılması.
  4. 04 Kimlik Haritası Aynı kimliğin tek nesneyle temsil edilmesi: haritasız ve haritalı koşumda üretilen ayrı örnek sayısının, iki kod yolunun aynı kaydı değiştirmesiyle kaybolan alan sayısının ve haritanın bellekte tuttuğu nesne sayısının ölçülmesi, haritanın yaşam süresi uzadığında ortaya çıkan bayat okumanın gösterilmesi.
  5. 05 Veri Aktarım Nesneleri ve Eşleyiciler Katmanlar arası veri taşımanın kalıp düzeyinde ele alınması: iç modelin biçimi değiştiğinde doğrudan okuyan istemcilerin bozulmasıyla eşleyici arkasındaki istemcilerin bozulmamasının sayılması, istemci kodundaki iç alan adı sayısı ve eşlemenin alan başına satır bedeli.
  6. 06 Servis Katmanı Uygulama sınırının tek bir yerde tanımlanması: senaryoyu kendi içinde yürüten iki istemci ile aynı senaryoyu bir kez yazan servis katmanının karşılaştırılması, istemci dosyasındaki altyapı adı ve tekrarlanan senaryo adımı sayısının sayılması, yalnız çağrıyı ileten yöntem sayısıyla ince servisin ölçülmesi.
  7. 07 Tip Nesnesi ve Nitelik Varyantları Türün çalışma zamanında modellenmesi: her hizmet türü için sınıf yazan düzen ile türü veri olarak taşıyan tip nesnesinin karşılaştırılması, tür adı taşıyan kod dosyası sayısının ve yeni tür eklemenin maliyetinin sayılması, nitelik torbasının çalışma zamanında doğrulanması ve kaybedilen yazım zamanı denetiminin bedeli.

Aramak için yazmaya başlayın.

↑↓ Esc gezin · aç · kapat