Background & Overview
Hur design patterns uppstod, blev populära och evolverat under de senaste 25 åren
- History
- The GOF book
- What is a design pattern
- Classification
- Patterns usage in lambda enhanced OO programming languages
Creational Patterns
Mönster för att skapa andra object
- Abstract Factory
- Builder / Step Builder
- Factory Method
- Object Pool
- Singleton / Multiton / MonoState
Structural Patterns
Mönster för att hantera strukturellt kopplade objekt
- Adapter
- Composite
- Decorator
- Proxy
- Service Locator
Behavioral Patterns
Mönster för att hantera algoritmisk bearbetning
- Command
- Dependency Injection (DI)
- Iterator
- Null Object / Optional
- Observer
- State Machine
- Strategy
- Template Method
- Visitor
Persistence Tier Patterns
Mönster för att lagra objekt-data
- Data Access Object (DAO)
- Data Mapper
- Repository
Presentation Tier Patterns
Mönster för användargränssnitt
- Front Controller
- Model-View-Controller
- View Model
Concurrency Patterns
Mönster för flertrådade applikationer
- Async Method Invocation
- Double Checked Locking
- Promise-Future
- Pipeline
- Fork-Join
- Hungry Puppies
- Reactor / Dispatcher
Architectural Patterns
Mönster för övergripande programdesign
- API Gateway
- Event-Driven Execution
- Hexagonal Architecture
- Service Layer
Integration Patterns
Mönster för samarbeten mellan applikationer
- Message Channel
- Publish-Subscribe
Miscellaneous Patterns
Diverse intressanta och användbara mönster och idiom
- Caching
- Callback / Listener
- Resource Handling Object (RAAI)
- Fluent Interface
- Private Class Data
Anti Patterns
Mönster som du bör undvika
- What is an Anti-Pattern?
- Advise for Using Anti-Patterns
- Blob
- Lava Flow
- Poltergeist
- Golden Hammer
- Copy-Past Programming
- Stovepipe