coupling etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
coupling etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

5 Ekim 2016 Çarşamba

Developer Mülakat Soruları

      S.a. arkadaşlar,
Uzun bir aradan sonra tekrar ilk kez yazıyorum. Bugün yazacağım konu direkt java ile ilgili bir konu değil. Mülakatlarda karşılaştığım ve farklı sitelerden derlediğim java mülakat sorularını ele alıp yine kendimizce cevap arayacağız. Eksiklik veya hata olduğunu düşündüğünüz yerlerde benimle irtibata geçersiniz tekrardan gözden geçirebilir. Umarım istediğiniz gibi güzel işler bulursunuz.
Not: 2.yazıya buradan erişebilirsiniz.

17 Eylül 2015 Perşembe

Spring Framework

S.a. Arkadaşlar,
Son zamanlarda belki de en çok duyduğunuz framework'lardan biri olan Spring'e giriş niteliğinde, onu tanıma adına bir yazı olacak.  Spring ile kurumsal projeleri rahatlıkla yapabileceğimiz bir framework'tur. Peki nedir diye frameworklardan farkı ki bu kadar ön plana çıktı.

19 Aralık 2014 Cuma

Coupling - Cohesion

       S.a. Arkadaşlar,        
       Bugünkü yazımızda coupling ve cohesion kavramlarından bahsedeceğiz kısaca. Bu iki kavramı kullanmasak ne olur diye düşünebilirsiniz. Hatta kullanmadan kod da yazabilirsiniz fakat bir değişiklik yapmak istediğinizde beklemediğiniz hatalar alabilirsiniz veya sizden sonra gelen bir kişi sizin yazdığın kodlarda çok fazla zorlanabilir. Bu nedenle bu yöntemleri kullanmakta faydalı olduğunu düşünüyorum. Şimdi gelelim bu kavramaların ne olduğuna.
                Coupling: Bağlantı/bağlanma anlamına gelen coupling sınıfların birbiriyle olan ilişkisidir. Yani her bir sınıf diğer sınıflarla ne kadar ilişkilidir. Burada amaç her sınıf başka sınıf ile minimum etkileşimde bulunmasıdır. Tabi bu ne kadar mümkün olabilir o da ayrı mesele , fakat biz elimizden geldiğince sınıfları özgürleştirebilmeliyiz. Yoksa dediğimiz gibi bir kodu değiştirirken başka bir sınıfı da etkilediği için onu da göz önüne almalıyız. O da başka bir sınıfla ilişkiliyse işin içinden çıkmakta zorlanabiliriz. Buna ek olarak da değişkenlerimizi private olarak tanımlamamız mümkünse öncelik private tanımlamalıyız , olmazsa default, procted ve mecbur kalmadıkça public kullanmamalıyız. Şimdi kısa bir kod coupling konusunu umarım daha iyi anlayabiliriz.
class A {
                void metod() {
                               B b = new B();
                               b.isim = "Kotu Tanimlama";
                               System.out.println(b.isim);
                }
}
class B {
                public String isim;
}
//
class A {
                void metod() {
                               B b = new B();
                               b.setIsim("iyi Tanimlama");
                               System.out.println(b.getIsim());
                }
}

class B {
                private String isim;

    public String getIsim() {
        return isim;
    }

    public void setIsim(String isim) {
        this.isim = isim;
    }
       
}
                Şimdi de Cohesion konusunu bakıp yazıyı tamamlayalım. Burada ise her sınıfın çok iyi tanımlanmış olmasıdır. Örneğin bir odamız olduğunu düşünüp her yerde eşyalar var. Bunu mu tercih ederseniz yoksa ufak ufak odalarımızda ve her birinde ne olduğunu tam olarak bildiğimiz bir şey mi tercih edersiniz. İşte tam da bu noktada cohesion ortaya çıkıyor. Bir de kodla açıklarsak ;
Class Sinif(){
Void oda1(){}
Void oda2()[}
Void oda3(){}
}
//yerine
Class SinifOda1(){
Void oda1(){}
}
Class SinifOda2(){
Void oda2(){}
}

Class SinifOda3(){
Void oda3(){}
}