DEV Community

drajatisme
drajatisme

Posted on

Factory Method

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.

Diagram konsep:
Diagram Konsep

  1. IProduct adalah interface yang akan diimplementasikan pada struct Product.
  2. Product adalah struct yang mengimplementasikan interface IProduct.
  3. ProductFactory adalah struct yang memiliki method yang mengembalikan struct Product yang telah mengimplementasi interface IProduct.
  4. Struct ProductBase akan disematkan ke produk yang lebih spesifik.

Mapping:

UML Code
Client main()
ProductFactory CarFactory
IProduct ICar
Product Car
ConcreteProductA Sedan
ConcreteProductB SUV

Diagram implementasi:
Diagram Implementasi

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.

Referensi

Top comments (0)