Factory design menyediakan cara untuk menyembunyikan logika pembuatan instance yang dibuat. Klien hanya berinteraksi dengan struct factory dan memberitahukan jenis instance yang perlu dibuat. Kelas factory berinteraksi dengan struct konkrit yang sesuai dan mengembalikan instance yang benar.
-
IProduct
adalah interface yang akan diimplementasikan pada structProduct
. -
Product
adalah struct yang mengimplementasikan interfaceIProduct
. -
ProductFactory
adalah struct yang memiliki method yang mengembalikan structProduct
yang telah mengimplementasi interfaceIProduct
. - Struct
ProductBase
akan disematkan ke produk yang lebih spesifik.
Mapping:
UML | Code |
---|---|
Client | main() |
ProductFactory | CarFactory |
IProduct | ICar |
Product | Car |
ConcreteProductA | Sedan |
ConcreteProductB | SUV |
Kapan?
- Anda ingin membuat objek tanpa harus mengungkapkan detail kelas konkretnya.
- Anda ingin membuat objek dalam keluarga objek yang terkait.
- Anda ingin memisahkan kode pembuatan objek dari kode klien.
- Anda ingin mendukung variasi produk.
- Anda ingin menggantikan objek-objek tanpa mengubah kode klien.
Top comments (0)