Results (
Indonesian) 2:
[Copy]Copied!
Solusi Tetapkan kelas B tanggung jawab untuk membuat sebuah instance dari kelas A jika satu atau lebih dari
yang berikut ini benar:
ï B agregat A objek.
Ï B berisi A objek.
Catatan ï B contoh A objek.
Ï B erat menggunakan A objek.
ï B memiliki data inisialisasi yang akan dilewatkan ke A ketika dibuat (sehingga B
adalah Ahli sehubungan dengan menciptakan A).
B adalah pencipta A objek.
Jika lebih dari satu pilihan berlaku, lebih memilih kelas B yang agregat atau berisi
kelas A.
Soal Siapa yang harus bertanggung jawab untuk membuat contoh baru dari beberapa kelas?
Penciptaan objek adalah salah satu kegiatan yang paling umum dalam berorientasi objek
sistem. Akibatnya, hal ini berguna untuk memiliki prinsip umum untuk tugas
tanggung jawab penciptaan. Ditugaskan baik, desain dapat mendukung kopling rendah,
peningkatan kejelasan, enkapsulasi, dan usabilitas Contoh Dalam aplikasi POS, siapa yang harus bertanggung jawab untuk menciptakan SalesLineltem misalnya? Oleh Pencipta, kita harus mencari kelas yang mengumpulkan, berisi, dan sebagainya pada, contoh SalesLineltem. Mempertimbangkan model domain parsial pada Gambar 16.7 Karena Sate mengandung (pada kenyataannya, agregat) banyak objek SalesLineltem, pola Pencipta menunjukkan bahwa Sale merupakan kandidat yang baik untuk memiliki tanggung jawab menciptakan contoh SalesLineltem. Hal ini menyebabkan desain interaksi objek sebagai ditunjukkan pada Gambar 16.8 ini tugas tanggung jawab mensyaratkan bahwa metode makeLineltem akan didefinisikan dalam Sate. Sekali lagi, konteks di mana tanggung jawab ini dianggap dan diputuskan adalah saat menggambar diagram interaksi. Bagian metode diagram kelas kemudian dapat merangkum hasil penugasan tanggung jawab, konkret diwujudkan sebagai metode. Diskusi Creator panduan memberikan tanggung jawab yang berkaitan dengan penciptaan benda-benda, sebuah tugas yang sangat umum. Maksud dasar pola Pencipta adalah untuk menemukan pencipta yang perlu terhubung ke objek yang dibuat dalam hal apapun. Memilih itu sebagai pencipta mendukung kopling rendah. Agregat agregat Bagian, Container mengandung Konten, dan catatan Perekam Direkam semua hubungan yang sangat umum antara kelas dalam diagram kelas. Pencipta menunjukkan bahwa wadah melampirkan atau kelas recorder adalah calon yang baik untuk tanggung jawab menciptakan hal yang terkandung atau direkam. Tentu saja, ini hanya pedoman. Perhatikan bahwa konsep agregasi telah digunakan dalam mempertimbangkan Pencipta pola. Agregasi dibahas dalam Bab 27; definisi singkat adalah agregasi yang melibatkan hal-hal yang di Whole-Part atau Majelis-Bagian hubungan yang kuat, seperti Body agregat Leg atau Ayat agregat Kalimat. Kadang-kadang pencipta ditemukan dengan mencari kelas yang memiliki inisialisasi data yang akan disahkan pada saat penciptaan. Ini sebenarnya sebuah contoh dari pola Ahli. Inisialisasi data yang dilewatkan di selama pembuatan melalui beberapa jenis metode inisialisasi, seperti konstruktor Java yang memiliki parameter. Untuk contoh, asumsikan bahwa contoh Pembayaran perlu diinisialisasi, ketika dibuat, dengan total penjualan. Sejak Sale tahu total, Sale adalah pencipta calon Pembayaran. Kontraindikasi Seringkali, penciptaan memerlukan kompleksitas signifikan, seperti menggunakan contoh daur ulang untuk alasan kinerja, kondisional menciptakan sebuah contoh dari salah satu keluarga dari kelas yang sama didasarkan pada beberapa nilai properti eksternal , Dan seterusnya. Dalam kasus ini, disarankan untuk mendelegasikan penciptaan untuk kelas pembantu disebut Pabrik [GHJV95] daripada menggunakan kelas disarankan oleh Sang Pencipta. Pabrik dibahas dalam Bab 23. Manfaat Terkait Pola atau Prinsip Rendah kopling (dijelaskan berikutnya) didukung, yang berarti ketergantungan pemeliharaan yang lebih rendah dan peluang yang lebih tinggi untuk digunakan kembali. Kopling mungkin tidak meningkat karena kelas yang dibuat adalah mungkin sudah terlihat pencipta kelas, karena asosiasi yang ada yang memotivasi pilihan sebagai pencipta. Coupling Rendah Pabrik Whole-Part [BMRSS96] menggambarkan pola untuk menentukan objek agregat yang mendukung enkapsulasi komponen.
Being translated, please wait..