Posts

Showing posts with the label architecture

Design Patterns

Image
Introduction Gang of Four (GoF) is a term referring to a group of 4 authors ( Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides ) who published the classic book Design Patterns: Elements of Reusable Object-Oriented Software in 1994 . The book summarizes 23 design patterns commonly used to solve recurring object-oriented programming ( OOP ) design problems. The main benefit of GoF Design Patterns is providing standardized solutions to common problems, making source code easier to maintain, extend and creating a common language for developers when discussing software architecture. These 23 design patterns are divided into 3 main groups: Creational Patterns Factory Method : Defines an interface for creating an object, but lets subclasses decide which class to instantiate. Abstract Factory : Provides an interface for creating families of related or dependent objects without specifying their concrete classes. Builder : Separates the construction of a complex obj...

System Architecture Design

Image
Introduction The System Architecture Design process is a series of engineering activities aimed at transforming business requirements into a complete, optimized and scalable infrastructure and software model. The process of system architecture design steps includes: Requirement Analysis & Scope Definition This is the time for Technical Requirement Gathering & Analysis to clarify two core groups of requirements with Stakeholders and Product Team : Functional Requirements (FR) : What the system can do (such as ordering, payment, sending notifications, etc.). Non-Functional Requirements (NFR) : How the system operates (such as latency < 100ms, target QPS/RPS, 99.99% availability, OWASP/GDPR security standards, Cloud budget). Capacity Estimation & Resource Planning Preliminary calculation of operational metrics based on expected active users such as DAU (Daily Active Users) or MAU (Monthly Active Users) Traffic Estimation : Calculate average and peak reques...