-
-
Notifications
You must be signed in to change notification settings - Fork 47
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
4 changed files
with
76 additions
and
16 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,19 +1,38 @@ | ||
# Design patterns | ||
Seiring waktu yang terus berjalan, software pun akan terus mengalami pengembangan, agar komunikasi antar *objects*, pembuatan *objects*, dan struktur atau relasi antar *classes* dalam aplikasi tersebut berjalan lancar, *elegant*, dan mudah di-*track*, maka ada yang dinamakan **Design Patterns**. | ||
|
||
Seiring waktu yang terus berjalan, software pun akan terus mengalami | ||
pengembangan, agar komunikasi antar *objects*, pembuatan *objects*, | ||
dan struktur atau relasi antar *classes* dalam aplikasi tersebut | ||
berjalan lancar, *elegant*, dan mudah di-*track*, maka ada yang | ||
dinamakan **Design Patterns**. | ||
|
||
## Apa itu Design patterns | ||
Adalah sebuah solusi agar saat kamu mengemmbangkan sebuah software, *code* software tersebut mudah dipahami, mudah dikelola, dan memiliki skalabilitas yang tinggi, bisa buat jaga-jaga jika kamu ingin serius dengan pengembangan software tersebut. **Design patterns** bukanlah sebuah *code* yang bisa kamu *plek-ketiplek* salin layaknya algoritma, melainkan sebuah *template* yang bisa kamu gunakan sebagai acuan saat mengembangkan software-mu. | ||
|
||
Adalah sebuah solusi agar saat kamu mengemmbangkan sebuah software, | ||
*code* software tersebut mudah dipahami, mudah dikelola, dan memiliki | ||
skalabilitas yang tinggi, bisa buat jaga-jaga jika kamu ingin serius | ||
dengan pengembangan software tersebut. **Design patterns** bukanlah | ||
sebuah *code* yang bisa kamu *plek-ketiplek* salin layaknya algoritma, | ||
melainkan sebuah *template* yang bisa kamu gunakan sebagai acuan saat | ||
mengembangkan software-mu. | ||
|
||
## Kategori Design patterns | ||
Sebenarnya banyak sekali *patterns* yang digunakan saat proses pengembangan software, namun ada 23 jenis *patterns* yang umumnya digunakan sebagai pondasi dari *patterns* lainnya, 23 *patterns* itulah yang umum disebut dengan istilah **The Gang of Four (GoF)**, **GoF** memiliki 3 kategori, yaitu: | ||
|
||
Sebenarnya banyak sekali *patterns* yang digunakan saat proses pengembangan | ||
software, namun ada 23 jenis *patterns* yang umumnya digunakan sebagai pondasi | ||
dari *patterns* lainnya, 23 *patterns* itulah yang umum disebut dengan istilah | ||
**The Gang of Four (GoF)**, **GoF** memiliki 3 kategori, yaitu: | ||
|
||
- *Creational*, adalah bagaimana cara *objects* dibuat. | ||
- [Singleton](singleton/) | ||
- *... TODO* | ||
- *Structural*, adalah bagaimana cara menyusun dan hubungan dari *class-class* mu. | ||
- *... TODO* | ||
- *Behavioral*, adalah bagaimana cara komunikasi antar *objects*. | ||
- *... TODO* | ||
Bagus dan buruknya *patterns* bersifat *relative* terhadap sesuatu yang kamu ingin buat atau apa yang ingin kamu selesaikan. | ||
|
||
Bagus dan buruknya *patterns* bersifat *relative* terhadap sesuatu yang kamu | ||
ingin buat atau apa yang ingin kamu selesaikan. | ||
|
||
> [!NOTE] | ||
> disarankan lihat terlebih dahulu [OOP](../object_oriented_programming/) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters