Tim "developer" "PT. Inovasi Jaya" sedang membangun "platform" "e-learning" baru. Saat ini, mereka memiliki berbagai jenis materi pembelajaran (video, dokumen PDF, kuis interaktif) yang masing-masing membutuhkan proses inisialisasi dan konfigurasi yang berbeda. Logika untuk membuat objek-objek materi pembelajaran ini tersebar di beberapa bagian kode, menyebabkan "tight coupling" dan kesulitan saat menambahkan jenis materi baru di masa depan. Sebagai "Software Architect", "design pattern" "creational" apa yang paling tepat direkomendasikan untuk "refactoring" kode agar lebih fleksibel dan mudah dikembangkan?