KBTG 2025 - up1/training-courses GitHub Wiki
Course 1 :: Software architecture and Design
-
Domain-Driven Design
- Problem space vs Solution space
-
Strategic design
- Boundary context
- Sub-domains
- Core
- Generic
- Support
- Context mapping (cross domain)
- Communication patterns
- Sharing data
- Data modeling
- C4 model
- Context, Container, Component, Code
- Workshop
- How to identify your domain ?
- How to communication between service/domain ?
- Working with event storming
- Working with 4+1 architectural view model
-
Tactical design
- Basics Concepts
- Domain event
- Aggregation
- Entity
- Value object
- Design Patterns
- Structural
- Creational
- Behaviral
- Testable application patterns
- MVC (Model-View-Controller)
- MVVM (Model-View-ViewModel)
- Clean architecture
- Hexagonal architecture
- Object Oriented Design
- SOLID
- CUPID
- GRASP
- Basics Concepts
Course 2 :: Component and Contract Testing
-
Problems of testing in software development process
- Test-First vs Test-Last vs Test-Later
- Manage testing environment
- Manage test data
-
Testing strategy
- Unit
- Integration
- Component
- Contract
- End-to-End
-
Test double
- Dummy
- Stub
- Spy
- Mock
- Fake
-
Workshop
- Understand software architecture
- Component testing
- Contract testing