Practice notes on Real World Software Development
- Single Responsibility Principle (SRP)
- High cohesion / Low coupling
- Open/Close Principle (OCP)
- Notification pattern
- Unit test
- Liskov Substitution Principle (LSP)
- Test Hygiene
- Interface Segregation Principle (ISP)
- Test-Driven Development
- Builder pattern
- Fluent API
- Dependency Inversion Principle (DIP)
- Event-driven and hexagonal architecture
- Repository pattern
- Funtional programming
- Test doubles: mocks and stubs