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.
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ı
Etiketler:
Abstract,
Cohesion,
coupling,
developer,
Encapsulation,
exception,
final,
Hibernate,
Inheritance,
interface,
Java,
JPA,
mülakat,
OOP,
Overloading,
Overriding,
Polimorfizm,
Reflection,
Serilization,
static
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ı.
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ı.
Etiketler:
@Autowired,
@Bean,
anatasyon,
AOP,
coupling,
depency Injection,
Framework,
ioc,
Java,
programming,
Spring
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.
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(){}
}
Kaydol:
Kayıtlar (Atom)