Menyusun:”Merupakan bagian-bagian untuk membuat keseluruhan

Apa?Apa yang dimaksud dengan “Pola desain komposit”?
Ini adalah pola desain untuk membuat struktur komposisi seperti pohon.

Ya, sebuah kelas menurut definisinya memiliki berbagai bagian di dalamnya. Bagaimanakah Composite lebih dari sekedar kelas POJO sederhana yang memiliki metode penyetel untuk memiliki bagian dari objek utama?
Ya, POJO memang memiliki metode penyetel untuk variabel anggota yang mana kelas itu sendiri dan kelas-kelas ini pada gilirannya dapat memiliki metode penyetel untuk konstituen yang juga merupakan kelas. Pola desain komposit malah berhubungan secara khusus dengan struktur seperti pohon di mana pada setiap lapisan, sebuah kelas dapat menambahkan anak pada saat yang sama. tingkat yang lebih rendah dan seterusnya.

Mengapa?Apa perlunya pola desain Komposit?
Pola desain komposit digunakan ketika komponen komposit pada gilirannya menjadi komposit juga. Jika klien diminta untuk mengoperasikannya masing-masing komponen dalam komposit, maka jika ini hanyalah kelas independen tanpa kesamaan apa pun, klien diharuskan mengetahui cara berinteraksi dengan setiap kelas dalam struktur pohon. Memiliki antarmuka seragam yang menangkap interaksi dengan kelas akan memudahkan klien untuk berkomunikasi dengan setiap node dalam struktur pohon.

Bagaimana?Bagaimana pola desain Komposit diimplementasikan?Siapa saja peserta dalam pola desain?
Komponen: Mewakili antarmuka bagaimana klien perlu berinteraksi dengan node mana pun di pohon komposit. Hal ini dapat menentukan metode default untuk metode klien dasar yang akan berlaku untuk semua node individual di pohon.
Juga mewakili antarmuka untuk melanjutkan struktur komposit.
Artinya, selain menangkap operasi pada node tertentu, antarmuka komponen juga menangkap cara menyusun struktur lebih lanjut.
Leaf: Ini adalah komponen tingkat terendah dalam struktur komposit. Intinya, ini tidak akan memiliki mekanisme untuk menambah atau menghapus elemen dari dalam dirinya sendiri.
Komposit: Mendefinisikan perilaku node yang memiliki anak.
Menyimpan komponen anak.
Klien:Memanipulasi objek dalam komposisi menggunakan antarmuka Komponen.

Antarmuka Komponen:
Tambahkan(Komponen komponen);//Metode untuk membangun pohon
Hapus(Komponen komponen)://Metode untuk menghapus elemen yang ada di dalamnya.< br /> Operasikan(); // Ini adalah metode operasional. Di sinilah data komponen akan dicetak untuk contoh buku teks.

Leaf:
Ini mengesampingkan metode Tambah dan Hapus untuk memunculkan pengecualian pada dasarnya.

Komposit:
Ini menyimpan turunan ketika metode add(Komponen) dipanggil untuk menambahkan lebih banyak ke struktur.

Klien:
Memanipulasi struktur pohon yang berinteraksi dengan komponen struktur secara seragam.
root.operate(); // Klien memanggil metode ini dan root secara rekursif mendelegasikan ke metode operasi() pada anak-anak untuk mencapai operasi() secara seragam di seluruh konglomerasi.