Birliktelik, Münasebet ve Oluşum (Association, Aggregation and Composition)
Yazan : Şadi Evren ŞEKER
Bilgisayar bilimlerinde sistem modelleme ve mimari tasarım sırasında sıkça kullanılan ve genelde birbirine karıştırılması kolay olan konulardır. Özellikle nesne yönelimli programlama (object oriented programming) konusundaki gelişmelerle birlikte kullanılan UML modellerinde nesneler ve sınıflar arası ilişkilerde sıkça rastlanmaktadır.
Temel olarak birliktelik ve münasebet ilişki türleri birer oluşum çeşidi olarak düşünülebilir. Yani oluşum (composition) elde etmek için verilerimiz veya nesnelerimiz arasında kurabileceğimiz ilişki türleri birliktelik (association) veya münasebet (aggregation) olabilir.
Bu iki ilişki türünün arasındaki en temel fark ise birisinin verileri kendi içinde barındırması diğerinin ise atıfta bulunmasıdır.
Örneğin münasebet (aggregation) ilişkisinde bir nesneden diğer nesneye atıfta bulunulur. Bu durum bir ders ile öğrenci arasındaki ilişkiye benzer. Dersin bitmesi ve ders nesnesinin (object) yok olması durumunda bu dersi alan öğrencilerin varlığı devam eder.
Tersi bir örnek bir ev ile odaları arasında kurulabilir. Yani nasıl bir önceki örnekte dersi alan öğrenciler varsa (dolayısıyla dersin öğrencileri varsa) ev’in de odaları vardır. Ev nesnesinden odalara atıfta bulunan bir değişken benzer şekilde tanımlanır. Ancak bu sefer farklı olan ev nesnesinde bu objelerin yaşıyor olmasıdır ve ev yok olursa oda objelerinin de yok olacağıdır.
Bu durum C++ gibi dillerde gösterici (pointer) kullanılarak çözülebilir. Yani ilk örnekteki münasebet ilişkisi için ders nesnesinden öğrenci nesnelerine birer gösterici tanımlanabilir.
Birliktelik ilişkisi içinse ev nesnesinin içerisinde odalar tanımlanmalıdır.
« String Tokenizer ( Dizgi Parçalayıcı ) | İşlem Çatallanması (Process Forking) »
Yorumlar
Bilgisayar Kavramları üzerinde şu anda okumakta olduğunuz 'Birliktelik, Münasebet ve Oluşum (Association, Aggregation and Composition)' isimli yazı 20 Dec 2008 tarihinde, saat: 01:44 'de Şadi Evren ŞEKER tarafından gönderilmiş, toplam 538 defa okunmuştur.
Benzer yazıları Yazılım Mühendisliği (Software Engineering), bilgisayar felsefesi kategorilerinden okuyabilirsiniz. Yazar ile irtibat kurmak için email gönderebilirsiniz. Yazıya yorum yapabilir ya da yapılan yorumları RSS 2.0 ile takibe alabilirsiniz.
Yazarın Kitabı
Bu yazının yazarı Şadi Evren ŞEKER'in son çıkan kitabı "Programlama ve Veri Yapılarına giriş (C, C++ ve JAVA ile)" hakkında bilgi almak için Buraya tıklayabilirsiniz.
Eklenen Son Yazılar
- Visual Basic ile Gösterici (Pointer) Kullanımı
- Hasse Çizgeleri (Hasse Diagrams)
- Zeki Vekiller (Akıllı Ajanlar, Intelligent Agents, Zeki Etmenler )
- Integral Kriptoanalizi ( Toplam Tecessüsü , Integral Cryptoanalysis)
- Diferansiyel Kriptoanalizi ( Fark Tecessüsü , Differential Cryptoanalysis)
- Sierpinski Üçgeni (Sierpinski Triangle)
- C ile programlamaya giriş final sınavı çözümleri
- Çok Seviyeli Sıralar (Multi Level Queues)
- Çift Özetleme (Double Hashing)
- İkinci Dereceden Sondalama (Quadratic Probing)
Yapılan Son Yorumlar
- Şadi Evren ŞEKER: Sıralama işleminiz poligonu...
- Şadi Evren ŞEKER: bahsettiğiniz sıralama algoritması...
- Abdurrahman ulusoy: merhaba hocam. gelişigüzel...
- Oguz Okutan: Merhaba hocam.. Fonksiyonlarda degere göre...
- Şadi Evren ŞEKER: Null, NULL, nil veya null olarak...
- Fatih Kabakci: hocam merhabalar,...
- kara: Çok güzel anlatılmış gerçekten teşekkürler...
- Şadi Evren ŞEKER: Bahsettiğiniz şekil dönüşümü...
- Caner: Kullanıcıdan açı girdisi almıyorsanız...
- Furkan Yediyildiz: Algoritmanin mantigi cok güzel...
- havva: çok sağolun çok güzel açıklamalar var tşk...
- Şadi Evren ŞEKER: typedef komutu, bir yapıdan yeni bir...
- fatih kabakci: hocam ben structures ile ilgili bir sorum...
- Şadi Evren ŞEKER: evet, yukarıda açıklanan, herhangi...
- Abdurrahman ulusoy: fi açısından teta kadar döndürme...
- Şadi Evren ŞEKER: Hayır yok, bir noktanın, herhangi...
- Abdurrahman ulusoy: Bu durumda yukarıdaki formüllerin...
- Abdurrahman ulusoy: Merhaba hocam Üstteki mesajımda...
- mustafa ekmekcioğlu: merhaba şadi bey ben hacettepe...
- Şadi Evren ŞEKER: Talebiniz üzerine...
Yakın Yazılar
Birliktelik, Münasebet ve Oluşum (Association, Aggregation and Composition)
Oluşum (Composition) ve Struct (yapılar)
Paralel Diziler (Parallel Arrays)
Seçerek Sıralama (Selection Sort)
Yığınlama Sıralaması (Heap Sort)
Anlamsal Ağlar (Semantic Network)
Birleştirme Sıralaması (Merge Sort)
Sayarak Sıralama (Counting Sort)
Bağlantılar