Dalam diagram kelas UML, apa perbedaan antara hubungan asosiasi dan hubungan ketergantungan?
Dari apa yang saya tahu, sebuah asosiasi adalah hubungan yang lebih kuat daripada ketergantungan, tetapi saya tidak yakin bagaimana itu lebih kuat.
Contoh apa pun akan lebih dari diterima :)
Sebuah asosiasi hampir selalu menyiratkan bahwa satu objek memiliki objek lain sebagai bidang / properti / atribut (terminologi berbeda).
Sebuah ketergantungan biasanya (tetapi tidak selalu) menyiratkan bahwa obyek menerima objek lain sebagai parameter metode, instantiates, atau menggunakan objek lain. Sebuah ketergantungan sangat banyak tersirat oleh asosiasi .
sumber
Dalam istilah OOP:
Asosiasi -> A memiliki objek C (sebagai variabel anggota)
Ketergantungan -> A referensi B (sebagai parameter metode atau tipe kembalian)
Ada juga jawaban yang lebih detail .
sumber
Dependensi seperti ketika Anda mendefinisikan metode yang mengambil String (di Java, C #, karena string adalah objek di dalamnya) sebagai parameter, maka kelas Anda bergantung pada kelas String.
Asosiasi adalah seperti saat Anda mendeklarasikan string sebagai atribut di kelas Anda. maka kode Anda dikaitkan dengan kelas string.
sumber
Asosiasi terdiri dari 2 jenis-
Pengumpulan
1) Komposisi - Asosiasi atau hubungan yang lebih kuat antara 2 objek. Anda membuat objek kelas B di dalam kelas A lain
Jika kita menghapus kelas A, B tidak akan ada (objek B dibuat di dalam A saja).
2) Agregasi - jenis Asosiasi yang lebih lemah antara 2 objek.
Bahkan jika Anda menghapus kelas A, B akan ada di luar (B dibuat di luar dan diteruskan ke Kelas A)
Contoh lain dari ini- Man & Car. Manusia memiliki Mobil tetapi Manusia & Mobil ada secara mandiri.
sumber
Di sini: "Asosiasi vs. Ketergantungan vs. Agregasi vs. Komposisi" , Anda memiliki mecum vade yang hebat dengan diagram kelas uml dan cuplikan kode. Penulis memberi kita daftar hubungan: Asosiasi, Ketergantungan, Agregasi, Komposisi di satu tempat.
sumber
Ketergantungan sangat umum dan menurunkan kompleksitas adalah tentang mengurangi ketergantungan sebanyak mungkin.
Asosiasi adalah ketergantungan yang kuat (statis). Agregasi dan Komposisi bahkan lebih kuat.
sumber
Asosiasi adalah ketika satu objek hanya memiliki tautan ke yang lain dan tidak menggunakan metode objek relasional. Untuk ruby misalnya
Artinya Anda bisa mendapatkan objek profil dari pengguna tetapi pengguna tidak menggunakan metode profil di dalam dirinya (tidak memiliki ketergantungan pada antarmuka Profil).
Ketergantungan berarti Pengguna memiliki tautan ke objek lain dan memanggil metode objek itu di dalam dirinya
Di sini jika metode info Profil akan diubah atau diganti namanya, kelas Pengguna Tergantung kami juga perlu diubah.
sumber