Design Patterns

Software Architecture

Software architecture is the process of converting software characteristics such as flexibility, scalability, feasibility, reusability, and security into a structured solution that meets the technical and the business expectations.

Software should be "extendable, modular and maintainable". Performance and low fault tolerance, scalability and reliability are your key characteristics

Responsible for the skeleton and the high-level infrastructure of a software.

Architecture Patterns

Software Design

Responsible for the code-level design such as, what each module is doing, the classes scope, and the functions, purposes etc..

Design Patterns