i presentation
DESCRIPTION
TRANSCRIPT
DESIGN PATTERNDESIGN PATTERN
Apa itu Design Pattern ??Apa itu Design Pattern ??
• Design pattern adalah solusi yang digunakan untuk menyelesaikan masalah-masalah umum yang ditemukan dalam design perangkat lunak.
• Design pattern berupa template
• Design pattern bukan termasuk algoritma
Jenis-jenis Design PatternJenis-jenis Design Pattern
• Creational Patterns:1. Abstract Factory2. Builder3. Factory Method4. Prototype5. Singleton
Jenis-jenis Design Pattern(cont.)Jenis-jenis Design Pattern(cont.)
• Structural Patterns:1. Adapter2. Bridge3. Composite4. Decorator5. Facade6. Flyweight7. Proxy
Jenis-jenis Design Pattern(cont.)Jenis-jenis Design Pattern(cont.)
• Behavioral Patterns:1. Chain of Responsbility2. Command3. Interpreter4. Iterator5. Mediator6. Mementto7. Observer8. State9. Strategy10. Template Method11. Visitor
Singleton Design PatternSingleton Design Pattern
Singleton artinya satu class hanya boleh mempunyai satu instance selama aplikasi berjalan
Singleton Pattern (problem)Singleton Pattern (problem)
Singleton Pattern(problem)Singleton Pattern(problem)
Singleton PatternSingleton Pattern
Singleton PatternSingleton Pattern
Factory PatternFactory Pattern
When we use it?• When our object or component setup involves
a high level of complexity• When we need to easily generate different
instances of objects depending on the environment we are in
• When we're working with many small objects or components that share the same properties
• When composing objects with instances of other objects that need only satisfy an API contract (aka, duck typing) to work. This is useful for decoupling.
Factory PatternFactory Pattern
Factory PatternFactory Pattern
Problem
Factory PatternFactory Pattern
Solution
Facade PatternFacade Pattern
Adalah objek yang menyediakan interface yang telah sederhana dari deretan kode yang sangat besar
Facade Pattern (Problem)Facade Pattern (Problem)
Facade PatternFacade Pattern
Adapter Design PatternAdapter Design Pattern
Intinya menyederhanakan interface
Adapter Pattern (problem)Adapter Pattern (problem)
postToWall
Adapter PatternAdapter Pattern
Adapter PatternAdapter Pattern
Observer PatternObserver Pattern
Konsep Utama dari Obserever Pattern adalah saat terdapat kelas tertentu (Observer) yang perlu mengetahui aktifitas dari kelas lain (Subject)
Observer PatternObserver Pattern
Observer
Command PatternCommand Pattern
Subject
Observer PatternObserver Pattern
client
Command PatternCommand Pattern
Intent• Encapsulate a request in an object• Allows the parameterization of clients with
different requests• Allows saving the requests in a queue
Command PatternCommand Pattern
Implementation
Command PatternCommand Pattern