System Design is the process of designing the architecture, components, and interfaces for a system so that it meets the end-user requirements.
Low level design : It focus on implementation of indivisual components of HLD.
- Encapsulation
- Abstraction
- Inheritance
- Polymorphism
- Class Diagram
- Use Case Diagram
- State Diagram
- Sequence Diagram
- Single Responsibilty Principle
- Open-Closed Principle
- Liskov Substitution Principle
- Interface Segration Principle
- Dependecy Inversion Principle
- Creational
- Singleton
- Factory Method
- Abstract Factory
- Builder
- Prototype
- Dependecy Injection
- Structure
- Adapter
- Composite
- Proxy
- Flyweight
- Facade
- Bridge
- Decorator
- Behavioural
- Template Method
- Mediator
- Chain of Responsibility
- Observer
- Strategy
- Command
- State
- Visitor
- Iterator
- Interpretor
- Memento
High level design