21 Temmuz 2014 Pazartesi

Collecitons

          Javada koleksiyonlar birden fazla nesneyi bir arada tutmaya yarayan yapılardır . Nesne ekleme , silme gibi özelliklerin yanında sıralama , arama gibi işlemleri de yapabilmektedir yani kod yazan kişiyi bu yükten kurtarmış olurlar . 2 ana infterface altında toplanırlar "Map" ve "Collection" .

Collection


Map


          Peki bu kadar çok collection yapısı içinden hangisini kullanmalıyım ?


19 Temmuz 2014 Cumartesi

İf-Else & Switch-Case

          İf-else ve switch-case programlamlama dillerinin çoğunda kullanılan akış kontrol yapılarıdır . Aralarında çok keskin bir ayrım olmamasına rağmen kodun okunaklığı veya performans açısından kullanıldıkları yerler farklılık gösterebilir .

          Kodunuzda belirli aralıklardaki bir değere göre sonuç üretecekseniz veya kod daha okunaklı olsun diyorsanız if-else deyimini kullanabilirsiniz . Fakat elinizde 5 tane veya daha fazla  koşul varsa ve daha performanslı olsun istiyorsanız switch deyimini seçmeniz daha uygun . Bunun nedeni if-else deyimi yukarıdan aşağı tüm koşullara tek tek bakılır ve gerekiyorsa o adımda bir işlem yapar . Switch deyimi ise koşul ifadesinden sonra direk işlem yapacağı yere atlar .

Örnek


if-else deyimi tüm koşullara tek tek girer ve toplamda 6 adım sürer .


switch deyimi ise direk gerekli noktaya atladığı için toplamda 3 adım sürer .

10 Temmuz 2014 Perşembe

Adapter Desgin Pattern

           Adapter dizayn pattern en basit anlamıyla bir classı sizin kullanımınıza uygun bir class haline getirmek için kullanılan tasarım kalıbıdır . Örneğin kendiniz bir interface yazdınız ve içinde 10 tane method var . Bir başka classta bu interface in sadece 2 methodunu kullanmanız gerekiyor . İşte adapter pattern tam bu sırada imdadınıza yetişiyor  . Tek yapmanız gereken interface i bu adapter class ının içinde implement etmek ve kendi class ınızdan bu adapter classını çağırmak .

          Aşağıdaki örnekte çok basit bir buton işlemi yapılmak istenmiştir . Sadece butona tıklandığında ekrana "Tıklandı" yazısı bastırılmakta . Fakat görüldüğü üzere MouseListener interface i ile birlikte gelen 4 tane fazladan method var . Bu başka interfacelerde daha çok olabiliyor .


          Buradaki fazladan methodları kullanmamak için bu interface i dönüştürecek bir class tanımlıyoruz ve interface in methodlarını buraya ekliyoruz .




             Son olarak kendi yazdığımız adapter class ını çağırıyoruz ve sadece kullanacağımız methodu ekliyoruz .




          Görüldüğü gibi adapter pattern kullanılmadan da bu işlem yapılabilir ama daha sonra kodu okuyacak kişi için veya daha göze hoş kod yazmak istiyorsanız adapter pattern i kullanabilirsiniz .