7 Design Patterns :
1. Singleton
Fungsi : untuk memastikan sebuah class hanya memiliki 1 instance dan menyediakan
akses global ke instance tersebut dimana jika kita tidak menggunakan singleton maka
setiap class akan menciptakan objek baru dan tidak konsisten karena state yang dibuat di
setiap objek dapat berbeda – beda. Dalam penerapan system management
perpustakaan, singleton digunakan agar semua modul memiliki akses data yang sama
Implementasi :
2. Factory
Fungsi : Menyediakan interface untuk membuat objek tapi membiarkan subclass
menentukan class mana yang akan di instance. Sehingga dalam penerapan Sistem
Manajemen Perpustakaan, kita menggunakannya agar ketika ingin menambahkan user
baru cukup memanggil [Link] sehingga tidak perlu melakukan if else di
berbagai tempat dan jika ingin menambahkan tipe user cukup di userFactory saja tidak
perlu di berbagai tempat.
Implementasi :
3. Prototype
Fungsi : Membuat objek baru dengan meng-copy objek yang sudah ada. Sehingga dalam
penerapan system manajemen Perpustakaan kita menggunakannya agar semisal
perpustakaan membeli 50 copy buku yang sama untuk berbagai cabang maka dengan
prototype cukup input 1 buku dan mengcopy 49x dengan ISBN yang berbeda
Implementasi :
4. Facade
Fungsi : Menyediakan interface yang disederhanakan untuk subsistem yang kompleks.
Sehingga dalam penerapan system manajemen perpustakaan, agar dengan facade kitab
isa melakukan pinjam buku, mengembalikan buku dll dengan mudah dengan memanggil
[Link]
Implementasi :
5. Decorator
Fungsi : untuk menambahkan responsibility baru ke objek secara dinamis tanpa
mengubah struktur class nya. Dimana perpustakaan pasti mempunyai sesuatu yang
berbeda – beda seperti buku langka memiliki informasi sendiri, buku baru dapat diskon
dll, maka dengan Decorator kita tidak perlu membuat subclass untuk setiap kombinasi
Implementasi :
6. Observer
Fungsi : Agar ketika 1 objek berubah state, semua dependent dinotifikasi otomatis.
Dalam system manajemen perpustakaan, system akan melakukan broadcast ke semua
account secara otomatis
Implementasi :
7. State
Fungsi : memungkinkan objek mengubah perilakunya ketika internal state berubah.
Dalam penerapan system manajemen system, state digunakan agar setiap status dapat
dihandle sendiri
Implementasi :