Skip to main content
grasp.study
About
Explore
Pricing
Log in
Try it for free
Back to course
👋
Welcome to a Grasp lesson
Create a free account
to keep studying and create your own study path.
Maintainable Python & Rust Architecture
·
Module 1
Foundational Design Principles
1
Understanding and Measuring Software Coupling
Define and evaluate coupling between software components.
2
Understanding Software Component Cohesion
Define and evaluate cohesion within a software component.
3
Decomposing Systems with SRP
Apply the Single Responsibility Principle (SRP) to decompose a system into focused components.
4
Designing Extensible Code with the Open/Closed Principle
Apply the Open/Closed Principle (OCP) to design extension points in a codebase.
Applying Liskov Substitution Principle (LSP)
Apply the Liskov Substitution Principle (LSP) when designing type hierarchies and interfaces.
6
Implementing the Interface Segregation Principle (ISP)
Apply the Interface Segregation Principle (ISP) to design fine-grained, client-specific interfaces.
7
Implementing Dependency Inversion Principle (DIP)
Apply the Dependency Inversion Principle (DIP) to decouple high-level policy from low-level implementation details.
Previous module
Next module
Dependency Management and Injection