https://www.instagram.com/p/CK9ntYIgV0n/?igshid=yhepzliqjvnl
Category Archives: Java
Creator tasarım kalıbı
Bir sınıfın nesnesini (instance) oluşturmaktan sorumlu olacak sınıfı belirlemede yol gösteren GRASP tasarım kalıbıdır.
Bu tasarım kalıbına göre, aşağıdaki koşullardan biri, tercihen birden fazlası sağlanıyorsa B sınıfı A sınıfının örneğini yaratmaktan sorumlu olmalıdır:
1) B’nin nesneleri A’ nın nesnelerini içeriyorsa ya da içererek bir bütünü oluşturuyorsa.
2) B’nin nesneleri A’nın nesnelerinin kaydını tutuyorsa.
3) B’nin nesneleri A’nın nesnelerini yoğun olarak kullanıyorsa.
4) B’nin nesneleri A’nın nesnelerinin yaratılması aşamasında geçilmesi gereken bilgilere sahipse.
Online kitap satışı yapan bir site tasarladığımızı düşünelim. Alışveriş sepetini ifade eden ShoppingCart ve alışveriş sepetindeki her bir elemanı ifade eden CartItem sınıflarımız olsun.
Bu örneğimizde ShoppingCart sınıfı 1,3,4 nolu koşulları sağlayarak, CartItem nesnelerinin yaratılmasından sorumlu olacaktır. Bu sınıfta yer alacak addItem(Book book, int quantity) metodu bu yaratma işleminin gerçekleşmesi için uygun bir metod olacaktır.
Refactoring nedir?
Mevcut bir kod parçasını, basitlik, anlaşılabilirlik, test edilebilirlik gibi amaçlarla yeniden düzenleyerek dış davranışını değiştirmeden, iç yapsını değiştirmeye Refactoring denir.
Canary Release Nedir?
Yazılımın yeni sürümünü canlıya alma riskini azaltmak amacıyla, herkese erişilebilir hale getirmeden önce değişikliği küçük bir kullanıcı kümesine aşamalı olarak sunan tekniğe denir.
Canary release adını henüz karbonmonoksit dedektörleri yokken madenciler tarafından uygulanan bir yöntemden almıştır. Madenciler madene indiklerinde yanlarında kafeste bir kanarya götürürmüş, bu kanarya ortamda insanı öldürmeyecek kadar az bir karbonmonoksit olduğunda öldüğünden, kanaryanın ölümü ile madenciler madenden çıkıp kurtulurmuş.