17
Şub
Tasarımımızı yapıp başladığımız programlar, başlarda anlaşılır ve sadedirler. Programımız, yeni isteklere cevap verebilmek için eklediğimiz yamalarla beraber tasarımımızın ne kadar ii olduğuyla ters orantılı olarak bozulmaya başlarlar. Hatta kodumuz içinden çıkılmaz, anlaşılmaz bir duruma gelebilir.

İi bir tasarım diyebilmek için ilk üç şartımız; değişikliklerin kolayca uygulanması,bir yerde yapılan değişiğin kalan kodu etkilememesi,kodun tekrar kullanılabilir olması.

Bundan dolayı taşarım şablonlarını kullanmalıyız. Lazy Loading şablonu kullanılması en kolay şablonlardan bir tanesi. Genellikle bir sınıfın içindeki bir değişkeninin ihtiyaç duyulana kadar oluşturulmasını bekletmek için kullanırız. Böylelikle kullanmadığımız değişkenler için fazladan oluşturma zamanı ve bellek kullanmamış oluruz.

Private nesneye başlangıçta null atarız ve her istek geldiğinde null kontrolü yaparız. Eğer nesne null ise yeni oluşturulur; deil ise elde olan geri döndürülür. java örneği:


......................

private int boyut;
private int[] dizi=null;

public int[] getDizi() {
if(dizi==null) {
dizi=new int[boyut];
}
return dizi;
}

.....................


Diğer bir kullanım şekli; ihtiyacımız olan veriyi içermeyen ama nasıl elde edebileceğimizi bilen bir nesne olarak kullanmak.
Özellikle database çagrımlarında kullanırız. Örneğin müşteriye ait id, ad, soyad, siparişleri tutan müşteri sınıfımız olsun. Databasede tuttuğumuz bu bilgileri id özelliği ile gerek duyulduğunda ulaşırız.


...................

private java.awt.List siparisListe=null;
private int musteri_id;

public java.awt.List getSiparisListe(){
if(siparisListe==null){
ResultSet result = connection_object.executeQuery ("select siparis from musteri where musteri_id="+ musteri_id);
while (result.next()) {
siparisListe.add(result.getInt(1));
}
}
return siparisListe;
}

.......................