Results (
Indonesian) 2:
[Copy]Copied!
Solusi Menetapkan tanggung jawab sehingga kopling yang masih rendah.
Masalah Bagaimana untuk mendukung ketergantungan rendah, dampak perubahan rendah, dan peningkatan penggunaan kembali?
Coupling adalah ukuran dari seberapa kuat satu elemen terhubung ke, memiliki pengetahuan, atau bergantung pada unsur-unsur lain. Sebuah elemen dengan kopling rendah (atau lemah) adalah
tidak tergantung pada terlalu banyak elemen lain; "terlalu banyak" tergantung konteks,
tetapi akan diperiksa. Unsur-unsur ini meliputi kelas, subsistem, sistem, dan
sebagainya.
Sebuah kelas dengan tinggi (atau kuat) kopling bergantung pada banyak kelas-kelas lain. Kelas tersebut
mungkin tidak diinginkan; beberapa menderita masalah berikut:
ï Perubahan kelas terkait memaksa perubahan lokal.
Saya Sulit untuk memahami dalam isolasi.
Saya Sulit untuk menggunakan kembali karena penggunaannya membutuhkan kehadiran tambahan dari
kelas atas yang tergantung.
Contoh Pertimbangkan mengikuti diagram kelas parsial dari studi kasus NextGen Anggaplah kita memiliki kebutuhan untuk membuat sebuah instance Pembayaran dan mengasosiasikannya dengan Sale. Apa kelas harus bertanggung jawab untuk ini? Karena Register "catatan" Pembayaran dalam domain dunia nyata, pola Pencipta menunjukkan Pendaftaran sebagai calon menciptakan Pembayaran tersebut. Register contoh kemudian bisa mengirim pesan addPayment ke Sale, melewati sepanjang Pembayaran baru sebagai parameter. Kemungkinan diagram interaksi parsial mencerminkan ini ditunjukkan dalam Gambar 16.9 ini tugas tanggung jawab pasangan Register kelas untuk pengetahuan kelas Pembayaran. UML notasi: Perhatikan bahwa contoh Pembayaran secara eksplisit bernama p sehingga dalam pesan 2 dapat dirujuk sebagai parameter. Sebuah solusi alternatif untuk menciptakan Pembayaran dan mengaitkannya dengan Sale yang ditunjukkan pada Gambar 16,10. Gambar 16.10 Sale menciptakan Pembayaran. Yang desain, berdasarkan penugasan dari tanggung jawab, mendukung Coupling Rendah? Dalam kedua kasus kita akan menganggap Jual akhirnya harus digabungkan ke pengetahuan Pembayaran. Desain 1, di mana Register menciptakan Pembayaran, menambahkan kopling Daftar untuk Pembayaran, sementara desain 2, di mana Sale melakukan penciptaan Pembayaran, tidak meningkatkan kopling. Murni dari sudut pandang kopling, Desain Dua adalah lebih karena kopling keseluruhan yang lebih rendah dipertahankan. Ini sebuah contoh di mana Coupling dua pola-rendah dan Pencipta-mungkin menyarankan berbeda solusi Diskusi Low Coupling merupakan prinsip yang perlu diingat selama semua keputusan desain; itu adalah tujuan yang mendasari untuk terus dipertimbangkan. Ini adalah prinsip evaluatif bahwa desainer berlaku saat mengevaluasi semua keputusan desain. Dalam bahasa berorientasi objek seperti C ++, Java, dan C #, bentuk umum dari kopling dari TypeX ke TypeY meliputi: ï TypeX memiliki atribut (anggota data atau variabel contoh ) yang mengacu pada contoh TypeY, atau TypeY sendiri. Saya Sebuah objek TypeX panggilan pada layanan dari objek TypeY. ï TypeX memiliki metode yang merujuk contoh TypeY, atau TypeY sendiri, dengan cara apapun. Ini biasanya mencakup parameter atau variabel lokal tipe TypeY, atau objek kembali dari pesan menjadi sebuah contoh dari TypeY. Ï TypeX adalah subclass langsung atau tidak langsung dari TypeY. Ï TypeY adalah antarmuka, dan TypeX mengimplementasikan antarmuka. Coupling Rendah mendorong menugaskan tanggung jawab sehingga penempatannya tidak tidak meningkatkan kopling ke tingkat sedemikian rupa sehingga mengarah ke hasil negatif yang coupling tinggi dapat menghasilkan. Coupling Rendah mendukung desain kelas yang lebih independen, yang mengurangi dampak perubahan. Hal ini tidak dapat dianggap terpisah dari pola lain seperti Ahli dan tinggi Kohesi, melainkan perlu dimasukkan sebagai salah satu dari beberapa prinsip desain yang mempengaruhi pilihan dalam menentukan tanggung jawab. Sebuah subclass sangat digabungkan ke superclass-nya. Keputusan untuk menurunkan dari superclass perlu dipertimbangkan karena itu adalah suatu bentuk kuat dari kopling. Misalnya, bahwa benda-benda needto disimpan terus-menerus dalam database relasional atau objek. Dalam hal ini adalah desain yang relatif umum untuk membuat superclass abstrak yang disebut PersistentObject yang kelas-kelas lain berasal. The Kerugian dari subclassing ini adalah bahwa hal itu sangat pasangan domain objek ke layanan teknis tertentu dan bercampur kekhawatiran arsitektur yang berbeda, sedangkan keuntungan adalah warisan otomatis perilaku kegigihan. Tidak ada ukuran mutlak ketika kopling terlalu tinggi. Yang penting adalah bahwa pengembang dapat mengukur tingkat saat kopling, dan menilai apakah peningkatan itu akan menyebabkan masalah. Secara umum, kelas yang secara inheren sangat generik di alam, dan dengan probabilitas tinggi untuk digunakan kembali, harus memiliki terutama rendah kopling. Kasus ekstrim Low Coupling adalah ketika tidak ada coupling antara kelas. Hal ini tidak diinginkan karena metafora pusat teknologi objek adalah sistem benda terhubung yang berkomunikasi melalui pesan. Jika Rendah Coupling diambil untuk kelebihan, itu menghasilkan desain miskin karena itu mengarah ke beberapa incohesive, kembung, dan kompleks objek aktif yang melakukan semua pekerjaan, dengan banyak sangat pasif zero-ditambah objek yang bertindak repositori data sederhana. Beberapa tingkat coupling antara kelas adalah normal dan diperlukan untuk membuat sebuah sistem berorientasi objek di mana tugas-tugas yang dipenuhi oleh sebuah kolaborasi antara objek yang terhubung. Coupling Tinggi ke elemen stabil dan elemen meresap jarang masalah. Misalnya, J2EE Java aplikasi dapat dengan aman pasangan sendiri ke perpustakaan Java (java.util, dan sebagainya), karena mereka stabil dan luas.
Being translated, please wait..