Results (
Indonesian) 1:
[Copy]Copied!
Solution Assign a responsibility so that coupling remains low.Problem How to support low dependency, low change impact, and increased reuse?Coupling is a measure of how strongly one element is connected to, has knowledge of, or relies on other elements. An element with low (or weak) coupling is not dependent on too many other elements; "too many" is context-dependent, but will be examined. These elements include classes, subsystems, systems, and so on.A class with high (or strong) coupling relies on many other classes. Such classes may be undesirable; some suffer from the following problems:ï Changes in related classes force local changes. ï Harder to understand in isolation. ï Harder to reuse because its use requires the additional presence of the classes on which it is dependent. Example Consider the following partial class diagram from a NextGen case studyAssume we have a need to create a Payment instance and associate it with the Sale. What class should be responsible for this? Since a Register "records" a Payment in the real-world domain, the Creator pattern suggests Register as a candidate for creating the Payment. The Register instance could then send an addPayment message to the Sale, passing along the new Payment as a parameter. A possible partial interaction diagram reflecting this is shown in Figure 16.9This assignment of responsibilities couples the Register class to knowledge of kelas pembayaran.UML notasi: dicatat bahwa contoh pembayaran secara eksplisit bernama p begitu yang dalam pesan 2 itu dapat dirujuk sebagai parameter.Solusi alternatif untuk membuat pembayaran dan bergaul dengan penjualan adalah ditunjukkan dalam gambar 16,10.16,10 angka penjualan menciptakan pembayaran.Desain yang, berdasarkan penetapan tanggung, mendukung rendah Coupling? Dalam kedua kasus kita akan mengasumsikan penjualan harus akhirnya digabungkan ke pengetahuan Pembayaran. Desain 1, di mana Register menciptakan pembayaran, menambahkan coupling dari Mendaftar untuk pembayaran, sementara desain 2, di mana penjualan melakukan penciptaan Pembayaran, tidak meningkatkan kopling. Murni dari sudut-pandang coupling, Desain dua lebih baik karena dipertahankan keseluruhan lebih rendah kopling. Ini contoh yang mana dua pola-rendah Coupling dan Pencipta-mungkin menyarankan berbeda solusiDiskusi rendah Coupling merupakan prinsip untuk diingat selama semua desain keputusan; itu tujuan yang mendasari untuk terus mempertimbangkan. Ini adalah prinsip Evaluatif yang Desain berlaku ketika mengevaluasi semua keputusan desain.Dalam bahasa berorientasi objek seperti bentuk umum C++, Java, dan C#, coupling dari TypeX untuk TypeY termasuk:ï TypeX memiliki atribut (data anggota atau contoh variabel) yang mengacu pada Contoh typeY, atau TypeY itu sendiri. ï TypeX obyek memanggil layanan dari sebuah objek TypeY. ï TypeX memiliki metode yang referensi contoh TypeY, atau TypeY itu sendiri, dengan cara apapun. Ini biasanya termasuk parameter atau variabel lokal jenis TypeY, atau objek yang dikembalikan dari pesan menjadi contoh TypeY.ï TypeX adalah sebuah subclass langsung atau tidak langsung dari TypeY.ï TypeY adalah antarmuka, dan TypeX mengimplementasikan antarmuka tersebut.Coupling rendah mendorong menetapkan tanggung jawab sehingga penempatan Apakah peningkatan tidak kopling sampai ke level bahwa hal itu mengarah ke negatif hasil yang kopling tinggi dapat menghasilkan.Rendah Coupling mendukung desain kelas yang lebih independen, yang mengurangi dampak perubahan. Itu tidak dapat dianggap sebagai dalam isolasi dari pola lain seperti ahli dan kohesi tinggi, tapi agak perlu dimasukkan sebagai salah satu beberapa prinsip-prinsip desain yang mempengaruhi pilihan dalam menetapkan tanggung jawab.Sebuah subclass kuat digabungkan ke superclass nya. Keputusan untuk berasal dari superclass perlu dipertimbangkan dengan cermat karena seperti bentuk kuat coupling. Sebagai contoh, menganggap bahwa needto objek disimpan terus-menerus di relasional atau objek database. Dalam hal ini adalah desain yang relatif umum untuk membuat superclass abstrak yang disebut PersistentObject yang berasal dari mana kelas-kelas lain. The kelemahan dari subclassing ini adalah bahwa hal itu sangat pasangan domain objek untuk tertentu teknis layanan dan campuran berbagai arsitektur keprihatinan, sedangkan keuntungan adalah otomatis warisan ketekunan perilaku.Ada tidak mutlak ukuran ketika coupling terlalu tinggi. Yang penting adalah pengembang dapat mengukur tingkat saat ini kopling, dan menilai jika meningkat itu akan menyebabkan masalah. Secara umum, kelas inheren sangat generik di alam, dan dengan probabilitas tinggi untuk digunakan kembali, harus memiliki terutama rendah Coupling.Kasus ekstrem rendah Coupling adalah ketika tidak ada kopling antara kelas. Hal ini tidak diinginkan karena metafora Pusat Teknologi obyek adalah sistem terhubung objek yang berkomunikasi melalui pesan. Jika rendah Coupling dibawa ke kelebihan, itu menghasilkan desain yang buruk karena hal itu menyebabkan sedikit incohesive, kembung, dan benda-benda aktif kompleks yang melakukan semua pekerjaan, dengan banyak sangat pasif ditambah nol objek yang bertindak sebagai repositori data sederhana. Beberapa tingkat moderat coupling antara kelas-kelas adalah normal dan diperlukan untuk menciptakan sistem yang berorientasi objek dalam tugas-tugas yang telah dipenuhi oleh sebuah kolaborasi antara benda-benda yang terhubung.Kopling tinggi untuk unsur-unsur yang stabil dan unsur-unsur meresap adalah jarang masalah. Sebagai contoh, sebuah aplikasi Java J2EE dapat dengan aman pasangan itu sendiri ke Perpustakaan Jawa (java.util, dan sebagainya), karena mereka lebih stabil dan luas.
Being translated, please wait..