Yayın bilgisine linkten erişim sağlayabilirsiniz.
27 Haziran 2014 Cuma
WEB TABANLI DOKÜMAN YÖNETİM SİSTEMİ
Karabük Üniversitesi'nde yapılan ISITES 2014 bilimsel etkinliğinde sunumunu yaptığım "WEB TABANLI DOKÜMAN YÖNETİM SİSTEMİ" başlıklı bildiri yayınlandı.
Java HashMap Sınıfı
Kurumsal yazılım uygulamalarında model yapısı genellikle
kullanılan bir yapıdır. MVC yapısından birini temsil eder. Ancak yazılım
geliştiricilerin çoğu model yapısını geliştirme kısmında kodlamasını yaparlar.
Bu şekilde tanımlanan modeller kısmen statik bir yapıdadır. Çünkü kodlanmış bir
model yapısı sabittir. Model ile ilgili yeni bir ihtiyaç olması halinde kod
kısmında model için değişiklik yapılması gerekmektedir. Bu açıdan bakıldığında
kodlanan modeller yazılım esnekliğini azaltan bir durum olarak görülebilir.
Çözüm olarak dinamik model yapısı düşünülebilir. Dinamik model yapısı için en
uygun kütüphanelerden biri Java HashMap kütüphanesi olabilir. HashMap sınıfı Map üst sınıfından türemiştir.
Map ara yüzü anahtar-değer ikililerini bir arada tutmak için tasarlanmıştır.
Matematikteki fonksiyonların yazılım tarafında karşılığı olan Map veri yapıları
yazılım mimarisinde sıkça kullanılır. Örneğin yazılımımızda bulunan nesnelere
birer kimlik numarası vererek bu numara ile nesne arasında anahtar-değer
ilişkisi kurabiliriz. Böylelikle istediğimiz nesneye kimlik numarası
aracılığıyla rahatlıkla erişebiliriz. Java Map ara yüzü herhangi bir sıralama
kısıtı getirmez. Map’e eklenen anahtar-değer ikililerinin eklendiği sırada
kalacağı garanti değildir. HashMap verilen anahtardan hash fonksiyonu
yardımıyla bir dizi indeksi oluşturur. Verilen değer de bu dizi indeksindeki
belleğe yerleştirilir. Hash fonksiyonları çok temel matematiksel işlemler
kullandıklarından hızlıdırlar. Dolayısıyla HashMap’de verilere erişim sabit
zamanda olur. HashMap performansı için önemli olan iki parametre ilk kapasite
ve yük faktörüdür. Varsayılan olarak ilk kapasite 11′dir. Yük faktörü HashMap
koleksiyonumuzun herhangi bir anda maksimum doluluk oranını ölçer. Bu değer
varsayılan olarak %75 dir. HashMap’de doluluk oranı bu değerin üzerine
çıktığında kapasite artırımına gidilerek değerler tekrar hash’lenir. HashMap bu
özelliği dikkate alındığında MVC yapılarından olan model için esnek bir şekilde
kullanılabilir. Model olarak
kullanıldığında HashMap sınıfı yeni eklenen özelliği otomatik olarak
oluşturulur. Böylece sürekli olarak kod kısmında
değişiklik yapılmasına gerek kalmayacaktır. Veri tabanında tabloya yeni bir
kolon eklendiğinde ve bu tablodan HashMap sınıfı ile veri alındığında kod
kısmında değişiklik yapılmadan veriler güncel olarak gelecektir. Belli
dezavantajları bulunmaktadır. Dezavantajlardan biri şudur; Bir HashMap sınıfı
veri yüklendiğinde kendi içerindeki özellikler sıralı değildir. Zaten bu model
yapılarında çok aranan bir durum olarak da ele alınmadığından bir eksiklik
olarak da görülmeyebilir. Diğer dezavantajı web servislerinde model olarak
kullanımı tercih edilmeyebilir. Çünkü web servislerinde kodlanan model yapıları
başka programlama dili kullanan bir yazılımda kullanıldığında karşılığı oluşması
gerekir. Web servislerinde model yapısı olarak HashMap kullanılırsa Java
programlama dili dışında diğer programlama dillerinde karşılığı olan bir model
oluşması gerekir. Diğer programlama
dillerinde bunun garantisi olmadığından dolayı tercih edilmeyebilir.
Kaydol:
Kayıtlar (Atom)