Fundamentals 13 min read

What Is Architecture Design? Principles, Goals, Methods, and Common System Architectures

This article explains architecture design, covering its definition, core principles, goals, the 4+1 view method, classifications of monolithic and distributed architectures, common system architecture patterns, business analysis techniques, domain‑driven design, DSL concepts, and organizational structures for development teams.

IT Architects Alliance
IT Architects Alliance
IT Architects Alliance
What Is Architecture Design? Principles, Goals, Methods, and Common System Architectures

What Is Architecture Design

Architecture design is the process of providing problem‑solving solutions based on architectural principles and goals; it follows the same principles as design but operates at a larger scale and different abstraction levels.

Questions

What is the most basic personal quality required for architecture design?

What is the most basic technical ability required for architecture design?

Principles, Goals, and Methods

Principles

Dynamic‑static separation, high cohesion, low coupling.

Goals

Controllability – decomposition and granularity depend on business, people, and governance.

Reusability – abstraction at every stage (development → design → architecture → domain → organization).

System standards – high performance, reliability, stability, availability, security, usability, scalability, maintainability.

Method: 4+1 View Model

Use‑case view – how users see the system (UML use‑case diagram).

Logical view – abstract system functions (UML class, interaction, sequence diagrams).

Development view – how developers see the system (development and design documents).

Process view – runtime state, threads, processes, interactions (UML activity diagram).

Physical view – deployment, network, reliability, scalability.

Additional Questions

Methodologies for architecture design at different development stages.

Factors influencing decomposition granularity.

Technologies that realize architectural goals and their principles.

Why data‑driven design is widespread and how the three‑normal‑form reflects architectural principles.

Why internet companies rarely hire junior developers while software firms do.

Architecture Classification

By Process Perspective

Monolithic architecture – services run in a single process.

Distributed architecture – services run across multiple processes.

Monolithic Architecture Types

Simple mode – no internal splitting.

MVC mode – internal layering.

Front‑back separation – independent front‑end and back‑end logic.

Component mode – sub‑projects packaged into a whole (manual → ant → maven).

Component library mode – common code packaged as an organization library.

Web front‑back separation evolves in two stages:

Back‑end rendering: servlet → jsp → struts → springmvc → template engine → ajax.

Front‑end rendering: ajax → jquery → Angular / React / Vue / ECharts.

Problems of monolithic architecture: tight code coupling, large deployment impact, slow startup, poor scalability, and difficulty in large‑scale iterative updates.

Distributed Architecture Types

SOA – service‑oriented architecture, focuses on enterprise IT ecosystem, ESB, heterogeneous service integration, based on RPC and MQ.

DSA – distributed service architecture, focuses on business decomposition and service governance.

MSA – micro‑service architecture, refined DSA with micro‑service governance technologies.

Micro‑service governance: service registration & discovery, monitoring, isolation, circuit‑break, fallback, rate‑limit.

Micro‑service challenges: cascade failures, idempotency, timeout, transaction consistency.

Common System Architectures

Layered Architecture

Components are divided into parallel layers such as Presentation Layer, Business Layer, Persistence Layer, and Database Layer.

Clean Architecture

Outer layers may depend on inner layers, but inner layers never depend on outer ones; the core entities represent business logic independent of technical concerns.

Hexagonal Architecture

Also known as “Ports and Adapters”, it isolates the domain core behind adapters that communicate with the outside world.

CQRS

Command Query Responsibility Segregation separates write commands from read queries, leading to eventual consistency challenges.

Event‑Driven Architecture

Asynchronous and highly decoupled.

Common Business Analysis Methods

Database‑driven design.

Use‑case driven.

User story.

Test‑driven development (TDD).

Domain‑Driven Design (DDD)

DDD addresses the challenges of MSA by providing a unified language, domain models, and systematic processes (Why → What → How) that include domain model analysis and system architecture design.

Domain Model Analysis

Key concepts: Problem Domain (core, sub‑domains, bounded contexts, context mapping), aggregates, aggregate roots, services, factories, repositories, and the distinction between DAO and repository.

DSL (Domain Specific Language)

When design becomes a language, it can be expressed as DSLs such as HTML, CSS, Maven, SQL, or internal DSLs provided by frameworks like Spring, Spring MVC, Spring Boot, MyBatis.

Organization & Technical Architecture

Team Structures

Horizontal split – specialized technical teams (frontend, native, backend, data, test, product, PM).

Vertical split – cross‑functional teams containing all roles.

Management Approaches

Horizontal split led by technical leads: strong tech, weak business, high coordination cost.

Vertical split led by product/PM: strong business, weak tech, higher technical risk, uneven workload.

Open Questions

Pros and cons of vertical vs. horizontal splits and solutions.

Suitable scenarios for each split.

How to balance workload across cross‑functional teams.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

MicroservicesSystem DesignDDDdesign principles
IT Architects Alliance
Written by

IT Architects Alliance

Discussion and exchange on system, internet, large‑scale distributed, high‑availability, and high‑performance architectures, as well as big data, machine learning, AI, and architecture adjustments with internet technologies. Includes real‑world large‑scale architecture case studies. Open to architects who have ideas and enjoy sharing.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.