- Bagaimana ketiga pola ini berbeda satu sama lain?
Factory: Membuat objek tanpa memaparkan logika instantiation kepada klien.
Metode Pabrik: Tentukan antarmuka untuk membuat objek, tetapi biarkan subclass memutuskan kelas mana yang akan dipakai. Metode Factory memungkinkan class defer instantiation ke subclass
Abstrak Pabrik: Menyediakan antarmuka untuk membuat keluarga objek terkait atau bergantung tanpa menentukan kelas konkret mereka.
AbstractFactory pola menggunakan komposisi untuk mendelegasikan tanggung jawab menciptakan objek ke kelas lain sedangkan pola desain metode pabrik menggunakan warisan dan bergantung pada kelas turunan atau sub kelas untuk membuat objek
- Kapan menggunakan yang mana?
Pabrik: Klien hanya perlu kelas dan tidak peduli tentang implementasi konkret yang diperolehnya.
Metode Pabrik: Klien tidak tahu kelas konkret apa yang harus dibuat saat runtime, tetapi hanya ingin mendapatkan kelas yang akan melakukan pekerjaan.
AbstactFactory: Ketika sistem Anda harus membuat banyak keluarga produk atau Anda ingin menyediakan perpustakaan produk tanpa memaparkan rincian implementasi.
Abstrak Kelas pabrik sering diterapkan dengan Metode Pabrik. Metode Pabrik biasanya disebut dalam Metode Templat.
- Dan juga jika memungkinkan, ada contoh java yang terkait dengan pola ini?
Pabrik dan PabrikMetode
Maksud:
Tentukan antarmuka untuk membuat objek, tetapi biarkan sub kelas memutuskan kelas mana yang akan dipakai. Metode Pabrik memungkinkan instantiasi penangguhan kelas ke sub kelas.
Diagram UML :
Produk: Ini mendefinisikan antarmuka objek yang dibuat oleh metode Factory.
ConcreteProduct: Menerapkan antarmuka Produk
Pembuat: Menyatakan metode Pabrik
ConcreateCreator: Menerapkan metode Factory untuk mengembalikan instance dari ConcreteProduct
Pernyataan masalah: Buat Pabrik Game dengan menggunakan Metode Pabrik, yang mendefinisikan antarmuka game.
Cuplikan kode:
Pola Pabrik. Kapan harus menggunakan metode pabrik?
Perbandingan dengan pola kreasi lain:
Desain mulai menggunakan Metode Pabrik (kurang rumit, lebih dapat disesuaikan, subkelas berkembang biak) dan berkembang menuju Pabrik Abstrak, Prototipe, atau Builder (lebih fleksibel, lebih kompleks) ketika perancang menemukan di mana lebih banyak fleksibilitas diperlukan
Abstrak Kelas pabrik sering diimplementasikan dengan Metode Pabrik , tetapi mereka juga dapat diimplementasikan menggunakan Prototipe
Referensi untuk bacaan lebih lanjut: Pembuatan pola desain