Coupling ve Cohesion Kavramları

Coupling ve Cohesion Kavramları

OOP yaklaşımında olmazsa olmaz olan Coupling-Cohesion kavramlarından bahsedeceğiz. Bu kavramlar yazılımın kalitesini etkiler ve çok önemlidir.

Coupling

Bildiğimiz üzere sınıflar arasında bir bağlılık vardır. Bir sınıf içerisinde farklı sınıfların işlevlerinden yararlanıyoruz. Düşünün ki bağlı olduğunuz sınıf içerisinde herhangi bir değişiklik olduğunda bizim sınıfımızı da etkileyebilecektir. Bu istenmeyen bir durumdur. Bunun yerine o sınıfa sıkı sıkıya bağlı olmak yerine esnek bağlanmak gerekir. Bir sınıfın diğer bir sınıfa bağlılığına Coupling denir. Az bağımlı olmasına Low(Loose) coupling denir.

Low coupling sağlamak için interface kullanılabilir veya bir sınıf içerisindeki değişkenleri iyi encapsulation yaparak sadece getter/setter ile diğer sınıfların kullanımına açmak gibi örnekler verebiliriz.

Cohesion

SOLİD Prensiplerinden daha önceki yazılarımda bahsetmiştim. Solid prensiplerinin S harfine denk gelen Single Responsibility prensibini konu alan bir kavramdır. Bir sınıfın oluşturulma amacına ne kadar bağlı olduğunu gösterir. Amacına uygun yazılmış sınıflara high cohesion denir.

Yazılımda istenen durum Loose coupling ve high cohesion olmasıdır.

Codest Blog

Codest Blog yazılım hakkında her konuda bilgi sağlayan bir blog sitesidir. Bilgi paylaştıkça güzeldir felsefesi ile hareket ederek, yazılımcıların en cok karşılaştığı konuları sizlere aktarmayı hedefliyoruz. Keyifli okumalar 🙂