Creational Design Pattern: Factory – Part 2

Pada modul ini akan dibahas penggunaan factory pattern menggunakan interface. Pendekatan ini cocok jika Anda tidak ingin user mengakses langsung object struct. Perhatikan, person struct didefinisikan dengan huruf kecil agar tidak bisa diakses langsung. Jadi user hanya bisa mengakses struct melalui interface. Dengan pendekatan diatas, kita juga bisa menggunakan struct lain. Contoh ditambahkan oldPerson struct … Read more

Sharing is caring:

Creational Design Pattern: Factory – Part 1

Jika object creation logic terlalu kompleks, solusi yang dapat digunakan adalah design pattern factory. Contohnya object struct yang memiliki field yang banyak, yang harus di-inisialisasi. Berbeda dengan design pattern builder, factory bertujuan melakukan object creation dalam satu kali eksekusi. Untuk menanganinya dapat digunakan dengan cara Fungsi terpisah, yaitu Factory function atau sering disebut juga constructor. … Read more

Sharing is caring:

Creational Design Pattern: Builder – Part 4

Pada modul ini kita akan membahas cara menambahkan extension pada builder yang telah ada dengan menggunakan pendekatan functional programming. Berikut contoh code penerapan function programming untuk melakukan extension pada builder. Idenya adalah membuat list dari aksi yang akan dilakukan, yang akan dieksekusi belakangan. Lihat code berikut: Misalnya, fungsi awal yang dibuat adalah untuk mengisi data … Read more

Sharing is caring:

Creational Design Pattern: Builder – Part 3

Pada modul ini kita akan membahas bagaimana memastikan user menggunaan builder, tidak mengakses langsung object yang kita buat. Salah satu caranya adalah dengan “menyembunyikan” object tersebut. Contoh kasus, API untuk mengirim email, agar user tidak langsung menyentuh struct email, kita buat EmailBuilder. Perhatikan struct email didefinisikan dengan huruf kecil agar tidak dapat diakses diluar package. … Read more

Sharing is caring: