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.
-
IProductadalah interface yang akan diimplementasikan pada structProduct. -
Productadalah struct yang mengimplementasikan interfaceIProduct. -
ProductFactoryadalah struct yang memiliki method yang mengembalikan structProductyang telah mengimplementasi interfaceIProduct. - Struct
ProductBaseakan 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)