Tight ve Loose Coupling Farkı (Sıkı ve Gevşek Bağlanma)

Bu yazıda Sıkı ve Gevşek bağlanma arasında ki farkı kısa ve öz bir örnekle sizinle paylaşacağım.

İlk olarak  şunu belirtmem gerekir ki Coupling  kavramı OOP yaklasiminda olmazsa olmazlardandir , OOP kalitesiyle doğrudan ilgilidir.

İlk Olarak OOP yaklaşımında istenmeyen durum olan Tight Coupling yani sıkı bağlanmaya örnek vereceğim daha sonra bunun düzelteceğiz.

Yukarı da görüldüğü üzere Traveler sınıfı içerisinden Araç bike veya car nesnesi oluşturulmaktadır. Burada Traveler yola çıkmak için car veya bike sınıfına bağımlıdır. Aracı Traveler içinden değiştirmek istenmeyen bir durumdur. Main sınıfı içerisinden değiştirilmesi istenen bir durumdur. Bunun çözümü ise bir interface oluşturmak ve kod kısmını şu şekilde değiştirmektir.

Oluşturduğumuz interface içinde araçların izini bıraktık. Daha sonra Traveler sınıfında artık nesne oluşturmamıza gerek kalmadı interface üzerinden main sınıfında yeni Traveler nesnesi oluşturken hata veriyor yani bize kısaca burada bize senden bir araç oluşturmanı istemekte olduğunu dile getirmektedir. Böylelikle Loose coupling yani gevşek bağlanma sağlanmış oluyor. OOP yaklaşımında istenen bir durum olup kalitesini belirlemektedir. Umarım kısa bir örnek üzerinden sizlere bunu anlatabilip aktarabilmişimdir.