İçeriğe geç
academia.sh

Kurs İleri

Kurumsal Uygulama Çerçevesi

Bu kursun sonunda

Kursa başla

01

Çekirdek Kavramlar

Nesnenin yaşam döngüsünü bir kaba devretmenin kaynakta bıraktığı iz, bağımlılığın yapıcı üzerinden sağlanması ve sınanabilirliğe etkisi, bileşen kapsamlarının varsayılanla açıklama arasında bölünmesi, yapılandırma kaynaklarının öncelik sırası, hiçbir açıklama yokken devreye giren otomatik yapılandırma ve kesişen ilgilerin çağrı yerine dokunmadan sarmalanması.

  1. 01 Denetimin Ters Çevrilmesi Bir nesne kabı, bir nesnenin kurulmasını, aynı örneğin geri dönmesini ve elle new ile kurulan bir örneğin hiçbir açıklamayı almamasını üç ayrı kaynaktan doğurur: on iki davranışın üçü kaynaktaki bir çağrıdan, altısı yalnız bir açıklamadan, üçü kabın kendi varsayılanından geliyor.
  2. 02 Bağımlılık Enjeksiyonu Bir nesne kabı bir bağımlılığı yapıcı üzerinden sağladığında bu bir açıklamadan doğuyor; aynı bağımlılık elle verildiğinde kaynakta duran bir çağrıdan doğuyor — ve aynı sınıf ikisiyle de çalışıyor. Arayüze bağlanmış bir gerçekleştirim yoksa kap hemen bir istisna fırlatıyor, ama kap kurulurken değil, ilk istekte.
  3. 03 Bileşen Kapsamları ve Yaşam Döngüsü Bir kap bileşeninin tekil kalması nesne kabının varsayılan kararı, her istekte yeniden kurulması ise açıkça yazılmış bir kapsam açıklamasından geliyor. Tanınmayan bir kapsam adı hiçbir hata vermiyor — bileşen sessizce tekil olmaktan çıkıyor ve bu ancak iki isteğin kimliğini `==` ile karşılaştırarak görülüyor.
  4. 04 Yapılandırma Kaynakları Bir ayar değeri üç kaynaktan birinden gelir ve öncelik sırası nesne kabının kuralıdır, kaynakta hiçbir yerde yazmaz: dışarıdan verilen değer bir dosya kaynağını, dosya kaynağı da gömülü varsayılanı bastırır. Yanlış yazılmış bir ayar adı kabı hiç rahatsız etmez — program sessizce gömülü varsayılana düşer ve dolu yerine bos okur.
  5. 05 Otomatik Yapılandırma Bir arayüz için hiçbir bileşen bildirilmemişse nesne kabı kendi varsayılan gerçekleştirimini koyar; kullanıcı kendi bileşenini bildirdiğinde kap sessizce geri çekilir ve kendi varsayılanını hiç kurmaz. Otomatik olan şey koşulludur, ve o koşul kaynakta hiçbir sözcükle görünmez.
  6. 06 Görünüş Odaklı Programlama Bir kap bileşenine konan bir sarmalama işareti, çağrı yerine hiç dokunmadan davranış ekliyor: kesişen bir ilgi (bu örnekte bir sayaç) her çağrıda araya giriyor ve düzenek bir vekildir. Ama bu işaretin var olması onun uygulanabilir olduğu anlamına gelmiyor — arayüzü olmayan bir sınıfa konan aynı işaret hiçbir hata vermeden etkisiz kalıyor.

02

Web ve Veri Katmanı

Gömülü bir sunucunun istek işleme zincirini kurması, uç noktaların ve yönlendirmenin açıklamalarla bildirilmesi, doğrulama ile ortak hata yanıtının çağrı yerinde görünmeyen üretimi, veri erişiminin arayüz düzeyinde soyutlanması, nesne ile tablo arasındaki bağlamanın yaşam döngüsü ve tembel yükleme sonuçları, işlem sınırlarının bildirimle çizilmesi.

  1. 01 Gömülü Sunucu ve İstek İşleme Modeli İstek işleme zincirinin halkaları üç kaynağa ayrılır: nesne kabının kendi varsayılanı, bir açıklama ve açık bir çağrı. Aynı halka kümesi farklı sırayla bildirildiğinde kabın ürettiği çalışma sırası değişmiyor; açıklama taşıyan bir sınıf kabın dışında elle çağrıldığında ise açıklamanın hiçbir etkisi kalmıyor.
  2. 02 Denetleyiciler ve Yönlendirme Dört uç noktanın dördü de kaynakta hiçbir çağrı olmadan yalnız bir açıklamayla bildiriliyor. Eşleşmeyen bir yol istendiğinde nesne kabı hata vermiyor, sabit bir varsayılan yanıt döndürüyor; aynı yolu bildiren iki bileşen tarandığında ise kazanan tarama sırasına bağlı kalıyor.
  3. 03 Doğrulama ve Hata İşleme Dört alanın üçü doğrulama kuralını bir açıklamadan alıyor, biri hiç kural taşımıyor. Kural bozulduğunda ortak hata yanıtının zarfı nesne kabının varsayılanından, alan mesajları ise açıklamanın kendisinden geliyor; aynı geçersiz nesne kap dışında doğrudan işleyiciye verildiğinde hiçbir kural uygulanmıyor ve kusur sessiz kalıyor.
  4. 04 Veri Erişim Soyutlaması Aynı derlenmiş çağıran kümesi — nesne kabı, servis ve giriş noktası — bir depo arayüzünün iki ayrı gerçekleştirimiyle, hiç yeniden derlenmeden koşturuluyor. Çağıranın sınıf dosyası yalnız arayüzü anıyor; aynı çağrı bir gerçekleştirimde sorunsuz çalışırken ötekinde bir istisnayla düşüyor, çünkü arayüz sözü ile gerçekleştirim davranışı ayrı ve kap bu ayrımı kapatmıyor, yalnız gizliyor.
  5. 05 Nesne ve Tablo Bağlaması Bir varlık nesnesinin dört alanından ikisi yükleme anında, ikisi ilk erişimde yükleniyor. İkinci erişim tabloyu tekrar okumuyor, önbellekten dönüyor; ama nesne kaptan ayrıldıktan sonra hiç erişilmemiş bir alana erişildiğinde tablo okunamıyor ve kusur sessizce boş bir değer olarak dönüyor.
  6. 06 İşlem Yönetimi İki çağrı yolu yan yana koşturuluyor ve bildirimsel işlem sınırının kaç kez açıldığı sayılıyor. Bir bileşenin kendi kendini çağırması vekili atlıyor: iç çağrı için sınır hiç açılmıyor, hiçbir hata çıkmıyor, ve bu sessizlik kaynakta hiçbir yerde işaretli değil.

03

Güvenlik, Test ve Dağıtık Kurulum

Kimlik doğrulama ve yetkilendirmenin filtre zinciriyle uygulanması, durumsuz oturumda belirtecin taşıdığı ve taşımadığı bilgi, katman testlerinin kabın hangi parçasını ayağa kaldırdığı, hiç yazılmayan sağlık ve ölçüm uçları, yapılandırmanın merkezîleşmesi ve yenilenmesi, servis keşfiyle ağ geçidinin yönlendirmeyi devralması, dayanıklılık kalıplarının açıklamayla eklenmesi.

  1. 01 Kimlik Doğrulama ve Yetkilendirme Yetkilendirme kararı bir açıklamadan mı geliyor, kabın varsayılanından mı, yoksa kaynakta yazılı bir denetim ifadesinden mi — filtre zinciri modellenerek üçü ayrılır; hiçbir kural taşımayan bir uç noktanın açık mı kapalı mı olduğunun, kabın kurulması sırasında verilen tek bir parametreyle belirlendiği ve bu farkın kaynakta hiç görünmediği koşturularak gösterilir.
  2. 02 Belirteç Tabanlı Kimlik Doğrulama Durumsuz oturumda kimliğe dair her şey belirtecin taşıdığı iddialarda durur; sunucu tarafında hiçbir oturum kaydı yok. Bir yetki sorusunun bir açıklamadan mı yoksa kaynaktaki bir karşılaştırmadan mı yanıtlandığı koşturularak ayrılır; sınırlayıcı ölçüm, iptal edilmiş bir belirtecin doğrulayıcı hiçbir iptal listesine bakmadığı için süresi dolana kadar kaç adım geçerli sayılmaya devam ettiğini sayıyla gösterir.
  3. 03 Katman Testleri Dilim testi ile tam bağlam testi arasındaki fark bir sıfat değil bir sayı; aynı kaptan geçen iki kurulum, ne kadar bileşen kurdukları sayılarak yan yana konur. Sınırlayıcı ölçüm, dilimin dışında kalan bir bileşenin kurulum açıklaması hiç çalışmasa bile dilim testinin sonucunun değişmediğini ve testin yine geçtiğini gösterir.
  4. 04 Sağlık ve Ölçüm Uçları Bir uygulama hiç yazılmadan var olan uçlarla ayağa kalkar — kabın kendisi ekler; yeni bir ölçüm ucu bir açıklamayla eklenebilir. Sınırlayıcı ölçüm ayrı bir daraltma bölümünde kapanır — kabın kurduğu varsayılan uçlar her bilgiyi açmaz, hangi alanın dışarı verildiği açık bir işaretlemeye bağlıdır, ve bu işaretleme yanlış bir alana konursa nesne kabı hiçbir hata vermeden onu da dışarı verir.
  5. 05 Dağıtık Yapılandırma Merkezî bir yapılandırma değeri dışarıda değişir, ama bunu kim gördüğü bileşenin kapsamına bağlıdır — tekil bir bileşen kurulduğu andaki değeri sonsuza kadar taşır, her istekte yeniden kurulan bileşen değişikliği bir sonraki kurulumda görür. Sınırlayıcı ölçüm, kursun en sessiz kusurunu ölçer — hiçbir hata çıkmaz, aynı anda var olan iki bileşen aynı anahtara iki farklı yanıt verir ve fark ancak yan yana konduğunda görünür.
  6. 06 Servis Keşfi ve Ağ Geçidi Bir çağrının hedefini kim belirledi — kaynaktaki sabit bir referans mı, bir kayıt mı, yoksa kabın kendi varsayılan çözümü mü? Keşif ve yönlendirme modellenir, gerçek ağ çağrısı yoktur. Sınırlayıcı ölçüm, keşfin bir hedefi bulmakla o hedefin hâlâ yanıt verip vermediğini doğrulamak arasındaki farkı ölçer — kayıttan silinmemiş ölü bir hedef aramada aynı biçimde bulunur, kusur ancak çağrı anında düşer.
  7. 07 Dayanıklılık Kalıpları Devre kesici ve yeniden deneme bir açıklamayla ekleniyor; çağrı yeri hiç değişmiyor. Kurgulanmış bir başarısızlıkta kaç gerçek deneme yapıldığı ve devrenin hangi eşikte açıldığı sayı olarak ölçülüyor. Sınırlayıcı ölçüm, açıklamanın yalnız vekilden geçen çağrıya uygulandığını, aynı sınıfın kendi içinden yaptığı çağrının korumasız kaldığını gösteriyor — web-and-data-layer/06'nın ölçtüğü sınırın aynısı, başka bir sonuçla. Bu ders kursu ve M08 müfredatını kapatıyor.

Aramak için yazmaya başlayın.

↑↓ Esc gezin · aç · kapat