Açık Kapalı(Open Closed – OCP) Prensibi

Yazılımda değişmeyen tek şey değişimin kendisidir. Bunun için ilerde yapacağımız değişiklikleri göz önünde bulundurarak şuan yazdığımız kodları bu değişimlere kolay adapte olacak şekilde yazmalıyız. OCP prensibi de zaten bunun için var. OCP’ye göre yazılımda bir modül geliştirmeye açık fakat değiştirmeye kapalı olmalıdır. Yazılımımıza yeni bir özellik eklemek istediğimizde bunu mevcut kodlara, sınıflara dokunmadan yapabiliyor olmamız […]

Tek Sorumluluk(Single Responsibility) Prensibi

Nesne yönelimli programlamanın en temel prensiplerinden biri olan Tek Sorumluluk(Single Responsibility) prensibine göre bir sınıfa hatta bir metota bile tek bir sorumluluk yüklenmeli, bir nesne sadece bir iş yapmalıdır.Bir diğer söylemle; bir sınıfa yazdığımız kodu değiştirmemize sadece tek bir şey sebep olmalıdır.Bu açıyla aşağıdaki Dergi sınıfına bakıldığında YaziEkle ve YaziSil olarak iki metot görülüyor ve […]

Bubble Sort

Bir dizi içerisindeki elemanları 2’şer 2’şer ele alarak karşılaştırarak sıralayan temel algoritmalardan biridir. Yukardaki resimde görüldüğü üzere elemanlar 2’şer olarak alınmış, eğer 2. eleman 1. elemandan küçükse swap işlemi yapılmış(küçükten büyüğe sıralamak için) ve dizinin sonuna kadar devam edilmiş. Bu işlemler hiç swap olmayana kadar devam edilince dizi sıralanmış olur. Aşağıda bubble sort algoritmasının Java […]

Linux | Unutulan kullanıcı şifresi nasıl değiştirilir?

Kullanıcı şifresini unutmak, özellikle sürekli kullandığınız bir şifreniz yoksa başınıza sıkça gelebilecek bir durum. Şifreyi yenilemek için aşağıdaki adımları izlememiz gerekiyor. 1 – BIOS ekranından sonra Shift tuşuna basarak GRUB ekranını açalım. Karşımıza şöyle bir ekran çıkaçaktır, buradan recovery modu seçmemiz gerekiyor. 2 – Recovery mode ekranında, alttan ikinçi seçenecek olan root’u seçelim, root prompt […]

Reflection API – Sınıflar

Java Reflection runtime sırasında sınıfları, interfaceleri, metodları inceleme imkanı sunar. Ayrıca reflection kullanarak yeni bir nesne üretmek, metot çağırmak, değerleri get/set etmek de mümkündür. Sınıfları araştırmak reflection kullanılırken genellikle yapılan ilk şeydir. Sınıflardan çeşitli bilgiler elde edilebilir, bunlardan bazıları : – Class Name (Sınıf ismi) – Class Modifies (public, private, synchronized vs.) – Package Info […]