Design Principles
Properties
This notes aggregates general software design principles that are applicable across different programming languages and projects.
# List
- Dependency Injection & IOC
- Repository Pattern: The Repository pattern provides an
abstraction layerbetween the data access logic and the rest of the application. It encapsulates the logic for retrieving, storing, and querying data from apersistent storage, such as a database. Repositories expose methods to performCRUD (Create, Read, Update, Delete) operationson the underlying data source, hiding the implementation details and providing a consistent interface for data access. - Unit of Work Pattern: The Unit of Work pattern is used to manage the transactional boundaries and coordination of multiple repository operations. It ensures that a group of related operations can be treated as a
single transaction, eithercommitting allchanges together orrolling them backif an error occurs. In other words, it is an abstraction of a database transaction.