Tagged articles

Software Architecture

1324 articles · Page 9 of 14
Baidu Intelligent Testing
Baidu Intelligent Testing
Aug 17, 2021 · Fundamentals

Applying Domain‑Driven Design in Baidu’s AiFanFan Product Development: A Practical Guide

This article explains how Baidu’s AiFanFan team introduced Domain‑Driven Design to tackle complex enterprise‑level requirements, detailing the strategic and tactical steps, core DDD concepts, layered implementation, and the concrete benefits gained from adopting a domain‑centric architecture.

Domain-Driven DesignSoftware Architectureagile development
0 likes · 24 min read
Applying Domain‑Driven Design in Baidu’s AiFanFan Product Development: A Practical Guide
IT Architects Alliance
IT Architects Alliance
Aug 15, 2021 · Fundamentals

Comprehensive Guide to Design Patterns with Java Examples

This article provides a thorough introduction to classic software design patterns—including creational, structural, and behavioral patterns—explaining their principles, illustrating each with clear Java code examples, and offering practical insights on when and how to apply them effectively in development.

BehavioralCreationalJava
0 likes · 41 min read
Comprehensive Guide to Design Patterns with Java Examples
dbaplus Community
dbaplus Community
Aug 9, 2021 · Backend Development

Applying Domain‑Driven Design in Haro’s Transaction Platform: Key Lessons

This article explains the fundamentals of Domain‑Driven Design (DDD), outlines its strategic and tactical design processes, and demonstrates how Haro’s transaction platform applies DDD across taxi, e‑commerce, and core trading scenarios, highlighting benefits, challenges, and practical recommendations.

DDDDomain-Driven DesignSoftware Architecture
0 likes · 29 min read
Applying Domain‑Driven Design in Haro’s Transaction Platform: Key Lessons
21CTO
21CTO
Aug 9, 2021 · Fundamentals

Mastering System Design: Core Elements, Steps, and Performance Strategies

This article explains system design fundamentals—including architecture, modules, components, interfaces, and data—outlines the main tasks and step‑by‑step process, covers performance challenges, RAIL performance model, key web metrics, and Facebook's design values, providing a comprehensive guide for building robust applications.

RAIL modelSoftware ArchitectureSystem Design
0 likes · 14 min read
Mastering System Design: Core Elements, Steps, and Performance Strategies
Tongcheng Travel Technology Center
Tongcheng Travel Technology Center
Aug 4, 2021 · Backend Development

Designing Complex System Architecture: From Entropy to Microservices and the Middle Platform

The article explains how the thermodynamic entropy principle inspires software architecture design, emphasizes abstract thinking and domain‑driven design, compares monolithic and microservice approaches, outlines microservice benefits and distributed‑system design principles, and discusses the complementary role of middle‑platform architecture in modern backend development.

Design PrinciplesDomain-Driven DesignSoftware Architecture
0 likes · 9 min read
Designing Complex System Architecture: From Entropy to Microservices and the Middle Platform
IT Architects Alliance
IT Architects Alliance
Aug 2, 2021 · R&D Management

What Is Software Architecture? Core Concepts, Patterns, and the COLA Framework

This article explains the meaning of architecture, why it is essential for any system, the responsibilities of architects, various software architecture classifications, common patterns such as layered, CQRS, hexagonal and onion architectures, and introduces the open‑source COLA framework with its layered, extension, and standard design principles.

COLA frameworkCQRSOnion Architecture
0 likes · 15 min read
What Is Software Architecture? Core Concepts, Patterns, and the COLA Framework
21CTO
21CTO
Aug 2, 2021 · Fundamentals

Why Most Projects Fail: 4 Code‑Quality Pitfalls and Proven Fixes

The article examines why many software projects become “rotten” by analyzing four common code‑quality problems—over‑large components, low cohesion, tangled high‑level/low‑level logic, and rampant if‑else—then offers concrete refactoring patterns, design‑pattern applications, and practical tooling to restore maintainability and project success.

Design PatternsRefactoringSoftware Architecture
0 likes · 38 min read
Why Most Projects Fail: 4 Code‑Quality Pitfalls and Proven Fixes
21CTO
21CTO
Aug 1, 2021 · Backend Development

What Does It Take to Become a Great Software Architect? Key Skills and Practices

This article outlines the career path toward software architecture, detailing the market expectations, essential competencies such as project management, technical depth, business insight, communication, decision‑making, and optimization techniques for systems, backend services, and databases, while emphasizing continuous learning and community involvement.

Software ArchitectureSystem Designbackend development
0 likes · 17 min read
What Does It Take to Become a Great Software Architect? Key Skills and Practices
IT Architects Alliance
IT Architects Alliance
Jul 28, 2021 · Fundamentals

Software Modeling and Design: Key UML Diagrams and Their Application Across Development Stages

This article explains how software architects can use UML modeling—covering class, sequence, component, deployment, use‑case, state, and activity diagrams—to analyze domain problems, design abstract models, and produce clear documentation that guides development from requirements through detailed design.

Software ArchitectureSystem DesignUML
0 likes · 15 min read
Software Modeling and Design: Key UML Diagrams and Their Application Across Development Stages
ITFLY8 Architecture Home
ITFLY8 Architecture Home
Jul 28, 2021 · Fundamentals

What Are the 7 Core Software Architecture Patterns and When to Use Them?

This article explains software architecture patterns as reusable solutions to common design problems, introduces the seven major patterns—layered, multi‑layer, pipe‑filter, client‑server, MVC, event‑driven, and microservices—detailing their context, challenges, solutions, drawbacks, and typical use cases.

Design PatternsMVCSoftware Architecture
0 likes · 11 min read
What Are the 7 Core Software Architecture Patterns and When to Use Them?
ELab Team
ELab Team
Jul 26, 2021 · Fundamentals

Why Rule Engines Matter: From Rete Algorithm to Node.js Nools

This article explains the origins and concepts of rule engines, demonstrates practical JavaScript implementations, dives into the Rete pattern‑matching algorithm, and explores design considerations for visual rule editors and lightweight Node.js components.

Node.jsRete algorithmRule Engine
0 likes · 15 min read
Why Rule Engines Matter: From Rete Algorithm to Node.js Nools
DevOps
DevOps
Jul 26, 2021 · Fundamentals

Preventing Software Degradation with Domain‑Driven Design and the Two‑Hat Refactoring Approach

The article explains how software degradation occurs as systems evolve, why domain‑driven design combined with a two‑step refactoring approach can maintain high‑quality design, and demonstrates these concepts through an e‑commerce payment case study, covering principles like OCP, SRP, and micro‑services.

Design PrinciplesDomain-Driven DesignRefactoring
0 likes · 21 min read
Preventing Software Degradation with Domain‑Driven Design and the Two‑Hat Refactoring Approach
MaGe Linux Operations
MaGe Linux Operations
Jul 25, 2021 · Backend Development

From Monolith to Microservices: A Comprehensive Journey and Essential Tech Stack

This article traces the evolution of software architecture from monolithic applications through vertical splitting and distributed services to modern microservice architectures, examines their advantages and drawbacks, and outlines a comprehensive technology stack—including service discovery, API gateways, authentication, logging, containerization, orchestration, and CI/CD tools—essential for building scalable, resilient systems.

CI/CDService MeshSoftware Architecture
0 likes · 18 min read
From Monolith to Microservices: A Comprehensive Journey and Essential Tech Stack
IT Architects Alliance
IT Architects Alliance
Jul 24, 2021 · Fundamentals

Understanding Software Architecture: Concepts, Classifications, and the COLA Framework

This article explains what software architecture is, why it is needed, the responsibilities of architects, various classification types such as business, application, distributed, data, physical and operations, and introduces typical architectural styles like layered, CQRS, hexagonal, onion, and the open‑source COLA framework.

COLACQRSDesign Patterns
0 likes · 13 min read
Understanding Software Architecture: Concepts, Classifications, and the COLA Framework
ITFLY8 Architecture Home
ITFLY8 Architecture Home
Jul 23, 2021 · Fundamentals

Why Architecture Matters: From Basics to the COLA Framework

This article explains what software architecture is, why it is essential, the responsibilities of architects, various architecture classifications, common patterns such as layered, CQRS, hexagonal and onion designs, and introduces the open‑source COLA framework with its layered structure, extension mechanisms, and normative guidelines.

COLA frameworkDesign PatternsOnion Architecture
0 likes · 13 min read
Why Architecture Matters: From Basics to the COLA Framework
JD Tech
JD Tech
Jul 23, 2021 · Fundamentals

Understanding the Essence, Principles, and Methodology of Software Architecture Design

This article explains software architecture design by defining its essence, contrasting it with ordinary software development, outlining three core principles—appropriateness, simplicity, and evolution—and detailing the TOGAF/ADM methodology and its business, data, application, and technology domains for building robust, adaptable systems.

ADMDesign PrinciplesSoftware Architecture
0 likes · 10 min read
Understanding the Essence, Principles, and Methodology of Software Architecture Design
IT Architects Alliance
IT Architects Alliance
Jul 22, 2021 · Fundamentals

Key Responsibilities and Skills for Software Architects

The article outlines the essential duties, required competencies, decision‑making principles, and optimization techniques for software architects, covering system decomposition, technology selection, communication, technical depth, performance tuning, database scaling, and the broader mindset needed to lead complex development projects.

Database ScalingSoftware ArchitectureSystem Design
0 likes · 16 min read
Key Responsibilities and Skills for Software Architects
IT Architects Alliance
IT Architects Alliance
Jul 20, 2021 · R&D Management

Finding Value in Software Development: From Programmer's Confusion to Value‑Driven Architecture

The article explores why many programmers feel lost, explains the business‑technology‑software value chain, and argues that adopting a value‑driven architectural mindset helps align learning and work with real business impact, improving both personal fulfillment and organizational outcomes.

R&D managementSoftware ArchitectureValue Chain
0 likes · 17 min read
Finding Value in Software Development: From Programmer's Confusion to Value‑Driven Architecture
IT Architects Alliance
IT Architects Alliance
Jul 17, 2021 · Fundamentals

Business Analysis Methods and Modeling Techniques

The article outlines practical business analysis approaches—including flowcharts, sequence diagrams, prototype sketches, business and data model diagrams—and recommends modeling tools, emphasizing the importance of selecting appropriate visualizations to clarify complex requirements and improve communication between stakeholders and technical teams.

ModelingSoftware Architecturebusiness analysis
0 likes · 9 min read
Business Analysis Methods and Modeling Techniques
Amap Tech
Amap Tech
Jul 16, 2021 · Fundamentals

Code Refactoring: Concepts, Practices, and Techniques

The article shares practical lessons from refactoring a ride‑hailing order system, explaining Martin Fowler’s definition of refactoring, distinguishing small (renaming, deduplication) and large (architectural redesign) efforts, outlining typical code smells, and detailing a structured pre‑, during‑, and post‑refactoring process to improve maintainability, reduce bugs, and accelerate development.

Code RefactoringSoftware Architecturebest practices
0 likes · 19 min read
Code Refactoring: Concepts, Practices, and Techniques
Java High-Performance Architecture
Java High-Performance Architecture
Jul 11, 2021 · Fundamentals

Why Domain‑Driven Design Is the Secret Weapon for Tackling Complex Business Systems

This article explains how Domain‑Driven Design (DDD) helps teams manage rising business and technical complexity by promoting a ubiquitous language, strategic and tactical design, layered and hexagonal architectures, and seamless integration with microservices, enabling rapid adaptation and robust, maintainable systems.

CQRSDomain-Driven DesignSoftware Architecture
0 likes · 42 min read
Why Domain‑Driven Design Is the Secret Weapon for Tackling Complex Business Systems
IT Architects Alliance
IT Architects Alliance
Jul 11, 2021 · Fundamentals

Understanding Software Architecture: Types, Design Principles, and the Role of Architects

This article explains the five architectural views—logical, development, runtime, physical, and data—clarifies the distinction between software and system architecture, discusses tier versus layer concepts, outlines the benefits of logical and physical layering, and describes the various kinds of architects and their responsibilities.

@layerArchitect RolesDesign Principles
0 likes · 10 min read
Understanding Software Architecture: Types, Design Principles, and the Role of Architects
macrozheng
macrozheng
Jul 8, 2021 · Backend Development

Why Legacy Code Is Killing Your Productivity—and How to Fix It

The article shares painful real‑world cases of poorly written SQL and Java code, explains how tangled microservice dependencies and missing transactions cripple maintainability, and offers concrete guidelines for clean architecture, modular design, and effective code governance to boost team efficiency.

SQL optimizationSoftware Architecturecode quality
0 likes · 8 min read
Why Legacy Code Is Killing Your Productivity—and How to Fix It
IT Architects Alliance
IT Architects Alliance
Jul 4, 2021 · R&D Management

Understanding Software: History, Cost Drivers, and the Evolution of Architecture

This article explores the origins of software as a human‑simulation tool, examines how cost reductions and technological advances have driven its widespread adoption, and explains how increasing complexity led to the emergence of specialized roles and architectural practices in modern software development.

Software ArchitectureSystem Designcost efficiency
0 likes · 10 min read
Understanding Software: History, Cost Drivers, and the Evolution of Architecture
Architecture Digest
Architecture Digest
Jul 4, 2021 · Fundamentals

Understanding Domain-Driven Design: Value, Process, and Architectural Practices

This article explains the principles and benefits of Domain-Driven Design (DDD), describing how strategic and tactical design, layered and hexagonal architectures, CQRS, and bounded contexts help manage complex business logic, improve scalability, and align software development with evolving business requirements.

CQRSDomain-Driven DesignSoftware Architecture
0 likes · 40 min read
Understanding Domain-Driven Design: Value, Process, and Architectural Practices
IT Architects Alliance
IT Architects Alliance
Jul 4, 2021 · Industry Insights

Why Do Software Architectures Decay Over Time and How to Prevent It?

The article examines why software architectures inevitably degrade as projects grow, outlines the stages of decay, critiques common quick fixes, and proposes strategic solutions such as adopting new technologies, refactoring into isolated components, using separate processes, and building loosely coupled platforms to sustain long‑term maintainability.

Build OptimizationModularizationPlatform design
0 likes · 25 min read
Why Do Software Architectures Decay Over Time and How to Prevent It?
IT Architects Alliance
IT Architects Alliance
Jul 1, 2021 · R&D Management

How to Break Down a Business Domain: From Core to Supporting Subdomains

This article explains DDD terminology by using a peach‑tree analogy to illustrate how a business can be divided into domains, subdomains, core, generic, and supporting domains, and provides step‑by‑step guidance for identifying and structuring these layers to focus development effort effectively.

Core DomainDomain-Driven DesignSoftware Architecture
0 likes · 8 min read
How to Break Down a Business Domain: From Core to Supporting Subdomains
ITFLY8 Architecture Home
ITFLY8 Architecture Home
Jul 1, 2021 · Fundamentals

What a Peach Tree Can Teach You About Domain‑Driven Design

This article uses a peach‑tree analogy to explain how to break down complex business logic into domains, subdomains, core, generic, and supporting domains, illustrating the practical steps and benefits of applying Domain‑Driven Design in software projects.

DDDDomain modelingSoftware Architecture
0 likes · 8 min read
What a Peach Tree Can Teach You About Domain‑Driven Design
IT Architects Alliance
IT Architects Alliance
Jun 30, 2021 · Fundamentals

Understanding Software Architecture: Systems, Subsystems, Modules, Components, Frameworks, and Architecture

This article explains the fundamental concepts of software architecture—including systems, subsystems, modules, components, frameworks, and architecture itself—by defining each term, illustrating their relationships with real‑world examples, and clarifying common misconceptions for technical professionals.

ComponentSoftware ArchitectureSystem Design
0 likes · 10 min read
Understanding Software Architecture: Systems, Subsystems, Modules, Components, Frameworks, and Architecture
ITFLY8 Architecture Home
ITFLY8 Architecture Home
Jun 30, 2021 · Fundamentals

Who Is Software Architecture Designed For? Exploring 4+1 Views and Documentation

This article examines the purpose of software architecture by identifying its diverse stakeholders, detailing the refinement process, illustrating the 4+1 view model with diagrams, outlining documentation practices, summarizing key takeaways, and previewing the next installment on deployment architecture.

4+1 viewSoftware ArchitectureStakeholder Analysis
0 likes · 4 min read
Who Is Software Architecture Designed For? Exploring 4+1 Views and Documentation
Alibaba Cloud Developer
Alibaba Cloud Developer
Jun 28, 2021 · Fundamentals

Why Architecture Diagrams Matter: Principles, Methods, and Tools for Effective Software Design

This article explains the essence of software architecture, its core elements, why clear diagrams are crucial for communication and quality, and presents practical principles, patterns like UML, 4+1, C4, arc42, and tools such as draw.io and PlantUML to help engineers create accurate, consistent, and maintainable architectural documentation.

C4 modelPlantUMLSoftware Architecture
0 likes · 34 min read
Why Architecture Diagrams Matter: Principles, Methods, and Tools for Effective Software Design
Architecture Digest
Architecture Digest
Jun 28, 2021 · Backend Development

Why Domain-Driven Design (DDD) Became Popular and How It Solves Microservice Boundary Challenges

The article explains the rise of Domain-Driven Design by tracing architectural evolution from monolithic to microservices, highlighting DDD’s role in defining business boundaries, its strategic and tactical components, and practical steps for modeling domains to guide microservice design.

DDDDomain-Driven DesignSoftware Architecture
0 likes · 11 min read
Why Domain-Driven Design (DDD) Became Popular and How It Solves Microservice Boundary Challenges
IT Architects Alliance
IT Architects Alliance
Jun 27, 2021 · Cloud Native

From Monolith to Microservices: A Complete Evolution Guide

This article traces the evolution of software architecture from monolithic applications through vertical splitting, distributed services, and SOA to modern microservices, and then details the essential technology stack—including service communication, API gateways, authentication, fault tolerance, logging, configuration, containers, orchestration, and CI/CD—required to build scalable, resilient cloud‑native systems.

CI/CDContainersKubernetes
0 likes · 19 min read
From Monolith to Microservices: A Complete Evolution Guide
IT Architects Alliance
IT Architects Alliance
Jun 27, 2021 · Fundamentals

Software Architecture Design and the 4+1 View Model Overview

This article explains software architecture concepts, the 4+1 view model, various architectural styles, the evolution of layered client‑server architectures, and the MVC/MVP patterns, providing a comprehensive overview of design principles and their practical implications.

4+1 viewMVCSoftware Architecture
0 likes · 16 min read
Software Architecture Design and the 4+1 View Model Overview
IT Architects Alliance
IT Architects Alliance
Jun 24, 2021 · Industry Insights

Why Is Domain-Driven Design Suddenly Trending? A Deep Dive into Its Rise

Domain-Driven Design (DDD) has surged in popularity as microservices dominate, and this article traces its historical background, explains the architectural shifts that created its need, outlines strategic and tactical design concepts, and provides a three‑step method for defining domain models and service boundaries.

Domain-Driven DesignSoftware ArchitectureStrategic Design
0 likes · 10 min read
Why Is Domain-Driven Design Suddenly Trending? A Deep Dive into Its Rise
IT Architects Alliance
IT Architects Alliance
Jun 23, 2021 · Fundamentals

10 Essential Software Architecture Patterns Every Enterprise Engineer Should Know

This article introduces ten fundamental software architecture patterns—layered, client‑server, master‑slave, pipe‑and‑filter, broker, P2P, event‑bus, MVC, blackboard, and interpreter—explaining their structures, typical applications, advantages, and drawbacks to help engineers choose the right architecture for large‑scale enterprise systems.

Design PatternsSoftware ArchitectureSystem Design
0 likes · 10 min read
10 Essential Software Architecture Patterns Every Enterprise Engineer Should Know
Alibaba Cloud Developer
Alibaba Cloud Developer
Jun 7, 2021 · Fundamentals

Why Domain Models Are the Secret Weapon for Stable, Scalable Software

This article explains the concept of domain models, why they are crucial business assets, how to create and use them with UML diagrams and simple examples, highlights common misconceptions, and shows how explicit modeling improves communication, code readability, and software adaptability.

DDDDomain modelingSoftware Architecture
0 likes · 16 min read
Why Domain Models Are the Secret Weapon for Stable, Scalable Software
Java High-Performance Architecture
Java High-Performance Architecture
Jun 7, 2021 · Fundamentals

23 Essential Design Patterns Explained with Fun Real‑World Analogies

This article humorously illustrates 23 classic software design patterns—such as Factory Method, Builder, Abstract Factory, Prototype, Singleton, Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy, Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, and Visitor—by mapping each to everyday relationship scenarios.

BuilderDesign PatternsFactory Method
0 likes · 18 min read
23 Essential Design Patterns Explained with Fun Real‑World Analogies
Full-Stack Internet Architecture
Full-Stack Internet Architecture
Jun 6, 2021 · Fundamentals

Understanding the Chain of Responsibility Design Pattern with Real‑World Stories and Java Implementations

This article explains the Chain of Responsibility design pattern by linking a historical story of Guan Yu’s five passes with an OA leave‑approval workflow, provides a clear definition, discusses its pros and cons, and presents comprehensive Java code examples illustrating abstract handlers, concrete handlers, and client usage.

Chain of ResponsibilityDesign PatternJava
0 likes · 12 min read
Understanding the Chain of Responsibility Design Pattern with Real‑World Stories and Java Implementations
ITFLY8 Architecture Home
ITFLY8 Architecture Home
Jun 6, 2021 · Fundamentals

What Does a Complete Enterprise Technology Middle‑Platform Architecture Look Like?

An extensive diagram presents a panoramic view of an enterprise technology middle‑platform architecture, illustrating its layered components, data flow, service governance, capability services, and integration points, offering a comprehensive visual guide for architects and engineers designing scalable internal platforms.

Software ArchitectureSystem Designtechnology platform
0 likes · 1 min read
What Does a Complete Enterprise Technology Middle‑Platform Architecture Look Like?
IT Architects Alliance
IT Architects Alliance
May 29, 2021 · Industry Insights

Mastering System Scalability: How to Predict and Handle Change in Architecture

The article explains why scalability is crucial for software systems, outlines the difficulty of accurately predicting future changes, and presents two architectural approaches—layer separation and abstraction/implementation layers—illustrated with diagrams and design‑pattern examples to help architects manage complexity.

Design PatternsSoftware ArchitectureSystem Design
0 likes · 9 min read
Mastering System Scalability: How to Predict and Handle Change in Architecture
IT Architects Alliance
IT Architects Alliance
May 24, 2021 · R&D Management

What Is Software Architecture? Core Concepts, Types, and Best Practices

This article explains the essence of software architecture, outlines its main components, classifies various architecture layers such as business, application, code, and technical architecture, discusses evolution stages, measurement criteria, common pitfalls, and provides a comprehensive knowledge framework for architects.

R&D managementSoftware ArchitectureSystem Design
0 likes · 15 min read
What Is Software Architecture? Core Concepts, Types, and Best Practices
IT Architects Alliance
IT Architects Alliance
May 23, 2021 · Fundamentals

Understanding Software Architecture: History, Concepts, and Definitions

This article explains the evolution of software development from machine language to high‑level languages, describes the two software crises and the emergence of structured, object‑oriented, and component‑based design, and clarifies key architectural concepts such as systems, subsystems, modules, components, frameworks, and architecture itself.

ComponentSoftware ArchitectureSystem Design
0 likes · 11 min read
Understanding Software Architecture: History, Concepts, and Definitions
ITFLY8 Architecture Home
ITFLY8 Architecture Home
May 21, 2021 · Backend Development

When Should You Adopt CQRS? Balancing Read and Write Models for Scalable Systems

This article examines how evolving software requirements can lock systems into rigid data models, explains the Command Query Responsibility Segregation (CQRS) pattern, and outlines when CQRS is beneficial or detrimental, helping architects decide if separating read and write models will improve scalability and maintainability.

CQRSSoftware Architecturebackend design
0 likes · 8 min read
When Should You Adopt CQRS? Balancing Read and Write Models for Scalable Systems
JD Retail Technology
JD Retail Technology
May 17, 2021 · Interview Experience

How a JD Architect Turns PaaS Challenges into Career Growth

In this interview, senior architect Li Zunjing shares his two‑stage journey at JD.com—from stabilizing e‑commerce systems to pioneering B‑PaaS—highlighting the importance of technical fundamentals, a "empty‑cup" mindset, collaborative execution, and self‑driven learning for engineering success.

JD.comPaaSSoftware Architecture
0 likes · 9 min read
How a JD Architect Turns PaaS Challenges into Career Growth
IT Architects Alliance
IT Architects Alliance
May 16, 2021 · Fundamentals

Why Domain-Driven Design Is the Key to Taming Complex Business Logic

Domain-Driven Design (DDD) offers a systematic approach to separate business complexity from technical concerns, using ubiquitous language, bounded contexts, layered and hexagonal architectures, CQRS, and strategic and tactical patterns, enabling teams to build flexible, scalable systems that quickly adapt to evolving requirements.

CQRSDomain-Driven DesignSoftware Architecture
0 likes · 41 min read
Why Domain-Driven Design Is the Key to Taming Complex Business Logic
Top Architect
Top Architect
May 15, 2021 · Fundamentals

Overview of Software Architecture: Monolithic, Distributed, Microservices, and Serverless

This article introduces the concept of software architecture and compares four major styles—monolithic, distributed, microservices, and serverless—detailing their structures, advantages, disadvantages, and typical use cases, helping developers understand how architectural choices affect scalability, maintainability, and operational complexity.

ServerlessSoftware Architecturedistributed
0 likes · 12 min read
Overview of Software Architecture: Monolithic, Distributed, Microservices, and Serverless
Programmer DD
Programmer DD
May 15, 2021 · Backend Development

How to Build a Flexible Rule Engine with Java: Design, Implementation, and Tips

This article walks through a real‑world scenario of extending trial‑user eligibility rules, explains the logical flow using AND/OR short‑circuiting, and presents a modular Java rule engine design with abstract templates, concrete rules, a service builder, and a test case, highlighting its advantages and drawbacks.

Code ExampleDesign PatternsJava
0 likes · 8 min read
How to Build a Flexible Rule Engine with Java: Design, Implementation, and Tips
Python Programming Learning Circle
Python Programming Learning Circle
May 10, 2021 · Backend Development

Functional Dependency Injection in Python: From Simple Thresholds to Contextual Composition

This article explores how to combine typed functional concepts with traditional object‑oriented dependency injection in Python, using a Django‑based word‑guessing game to illustrate naive parameter passing, its drawbacks, and a functional approach based on factories, transparent dependencies, and static typing.

Functional ProgrammingSoftware Architecturedependency injection
0 likes · 11 min read
Functional Dependency Injection in Python: From Simple Thresholds to Contextual Composition
Top Architect
Top Architect
May 10, 2021 · Fundamentals

Why UML Really Died: Historical Causes and What Replaced It

The article analyses the rise and fall of UML, tracing its origins in the 1990s, the impact of CASE tools, the shift toward agile development, and the technical and cultural reasons for its decline, while also exploring emerging lightweight modeling alternatives such as C4 and masala diagrams.

CASE toolsSoftware ArchitectureUML
0 likes · 13 min read
Why UML Really Died: Historical Causes and What Replaced It
Top Architect
Top Architect
May 9, 2021 · Backend Development

Principles and Practices for Effective Code Review and Software Architecture

This article shares a senior backend engineer's insights on why code review is essential, common pitfalls that degrade code quality, and a set of concrete principles—ranging from simplicity and composition to transparency and error handling—to guide developers in writing maintainable, scalable Go code and robust system designs.

Design PrinciplesEngineeringSoftware Architecture
0 likes · 39 min read
Principles and Practices for Effective Code Review and Software Architecture
Intelligent Backend & Architecture
Intelligent Backend & Architecture
May 8, 2021 · Fundamentals

Mastering Behavioral Design Patterns: When and How to Use Them

This article provides a comprehensive overview of behavioral design patterns—including Chain of Responsibility, Command, Mediator, Memento, Observer, State, Strategy, Template Method, and Visitor—explaining their motivations, class diagrams, advantages, disadvantages, and typical scenarios for applying each pattern in software development.

Behavioral PatternsDesign PatternsDesign Principles
0 likes · 20 min read
Mastering Behavioral Design Patterns: When and How to Use Them
Open Source Linux
Open Source Linux
May 8, 2021 · Fundamentals

Why Understanding Software Architecture Evolution Matters for Developers

This article outlines the evolution of software architecture—from monolithic to distributed, microservice, and serverless models—detailing each pattern’s structure, advantages, and drawbacks, helping developers understand how architectural choices impact scalability, maintenance, and innovation in modern software projects.

ServerlessSoftware Architecturedistributed systems
0 likes · 12 min read
Why Understanding Software Architecture Evolution Matters for Developers
Intelligent Backend & Architecture
Intelligent Backend & Architecture
May 7, 2021 · Fundamentals

Unlocking Behavioral Design Patterns: When and How to Use Them

This article explains behavioral design patterns—how they manage complex runtime interactions among classes or objects, outlines the eleven classic patterns with their motivations, class diagrams, advantages, disadvantages, and typical scenarios, and shows why object‑based patterns offer greater flexibility than class‑based ones.

Behavioral PatternsDesign PatternsObject-Oriented Design
0 likes · 22 min read
Unlocking Behavioral Design Patterns: When and How to Use Them
Python Programming Learning Circle
Python Programming Learning Circle
May 6, 2021 · Fundamentals

Understanding 23 Classic Design Patterns Through Everyday Analogies

This article explains twenty‑three classic software design patterns—including Factory Method, Builder, Abstract Factory, Prototype, Singleton, Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy, Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, and Visitor—using humorous real‑world scenarios to illustrate their intent and structure.

Design PatternsObject-OrientedSoftware Architecture
0 likes · 17 min read
Understanding 23 Classic Design Patterns Through Everyday Analogies
Intelligent Backend & Architecture
Intelligent Backend & Architecture
Apr 30, 2021 · Fundamentals

Mastering Java Design Patterns and SOLID Principles: A Practical Guide

This comprehensive tutorial explores the origins, concepts, classifications, and practical applications of software design patterns—including the classic 23 GoF patterns—and explains the seven SOLID principles with clear Java code examples, helping developers write more reusable, readable, and maintainable code.

Design PatternsJavaObject-Oriented
0 likes · 34 min read
Mastering Java Design Patterns and SOLID Principles: A Practical Guide
Top Architect
Top Architect
Apr 30, 2021 · Fundamentals

Understanding Software Architecture: Concepts, Classifications, and the COLA Framework

This article explains the fundamental notion of software architecture, why it is needed, the responsibilities of architects, various architecture classifications, typical application architectures such as layered, CQRS, hexagonal and onion models, and introduces Alibaba's open‑source COLA framework with its layered design, extension mechanisms and standards.

COLACQRSOnion Architecture
0 likes · 13 min read
Understanding Software Architecture: Concepts, Classifications, and the COLA Framework
Full-Stack Internet Architecture
Full-Stack Internet Architecture
Apr 29, 2021 · Fundamentals

Understanding the Singleton Pattern: Definition, Nine Implementations, Pros & Cons, and Android Applications

This article explains the Singleton design pattern, its core concept of ensuring a single instance, presents nine Java implementations with code examples, compares their advantages and disadvantages, discusses real‑world usage in Android and general development, and offers guidelines for when to apply the pattern.

AndroidDesign PatternsJava
0 likes · 15 min read
Understanding the Singleton Pattern: Definition, Nine Implementations, Pros & Cons, and Android Applications
Top Architect
Top Architect
Apr 29, 2021 · Fundamentals

Five Ways to Replace If‑Else Statements: From Basic Refactoring to Advanced Patterns

This article explores why traditional if‑else constructs often lead to tangled, hard‑to‑maintain code and presents five progressively sophisticated techniques—including removing unnecessary else blocks, using guard clauses, value‑assignment shortcuts, dictionary‑based dispatch, and strategy‑pattern refactoring—to write cleaner, more readable software.

Code RefactoringProgramming FundamentalsSoftware Architecture
0 likes · 6 min read
Five Ways to Replace If‑Else Statements: From Basic Refactoring to Advanced Patterns
IT Architects Alliance
IT Architects Alliance
Apr 28, 2021 · Fundamentals

Understanding Software Architecture: Concepts, Classifications, and the COLA Application Architecture

This article explains what software architecture is, why it is needed, the responsibilities of architects, various architecture classifications, common architectural styles such as layered, CQRS, hexagonal and onion, and introduces the COLA application architecture with its layered design, extension mechanisms and normative guidelines.

COLACQRSDesign Patterns
0 likes · 12 min read
Understanding Software Architecture: Concepts, Classifications, and the COLA Application Architecture
Swan Home Tech Team
Swan Home Tech Team
Apr 27, 2021 · Backend Development

The Evolution and QA Challenges of the Home Service Order System: From Bronze to Diamond

This article chronicles the six‑year evolution of the Tian'e Home Service order platform—from its early embedded form in 2015 to a unified, multi‑service order system—detailing architectural milestones, functional upgrades, and the testing challenges faced by the QA team throughout each phase.

QASoftware ArchitectureSystem integration
0 likes · 14 min read
The Evolution and QA Challenges of the Home Service Order System: From Bronze to Diamond
WeDoctor Frontend Technology
WeDoctor Frontend Technology
Apr 20, 2021 · Fundamentals

Master Design Patterns: Boost Code Reusability, Readability, and Maintainability

This comprehensive guide explains what design patterns are, why they matter, the fundamentals of object‑oriented programming, ten core SOLID principles, a mnemonic for 23 patterns, and detailed examples of creational, structural, and behavioral patterns with real‑world code snippets to help developers write cleaner, more maintainable software.

Design PatternsSOLID principlesSoftware Architecture
0 likes · 28 min read
Master Design Patterns: Boost Code Reusability, Readability, and Maintainability
Alibaba Cloud Developer
Alibaba Cloud Developer
Apr 19, 2021 · Backend Development

How to Build Scalable Business Architecture: Standards, Reuse, and Continuous Refactoring

This article examines common pain points in building and maintaining business applications, proposes a design specification that standardizes technical details, encourages component reuse, promotes continuous refactoring, and introduces a service orchestration engine to streamline complex workflow integration.

Software Architecturebackend developmentcomponent reuse
0 likes · 15 min read
How to Build Scalable Business Architecture: Standards, Reuse, and Continuous Refactoring
Top Architect
Top Architect
Apr 18, 2021 · Fundamentals

How to Create Effective Software Architecture Diagrams: Concepts, Types, and Best Practices

This article explains the fundamentals of software architecture diagrams, introduces the 4+1 view taxonomy and the C4 model, describes how to choose the right diagram for different audiences, and shares practical tips, common pitfalls, and tool recommendations for clear, self‑describing architecture visuals.

C4 modelSoftware ArchitectureSystem Design
0 likes · 11 min read
How to Create Effective Software Architecture Diagrams: Concepts, Types, and Best Practices
Architects' Tech Alliance
Architects' Tech Alliance
Apr 17, 2021 · Fundamentals

Evolution of Software Architecture: Monolithic, Distributed, Microservices, and Serverless

The article explains the progression of software architecture from simple monolithic designs through distributed applications and microservices to modern serverless solutions, outlining each model's structure, advantages, disadvantages, and impact on development, deployment, and operational complexity.

ServerlessSoftware Architecturemicroservices
0 likes · 12 min read
Evolution of Software Architecture: Monolithic, Distributed, Microservices, and Serverless
IT Architects Alliance
IT Architects Alliance
Apr 17, 2021 · Backend Development

Domain‑Oriented Microservice Architecture (DOMA) at Uber: Design, Benefits, and Practical Guidance

This article explains Uber’s Domain‑Oriented Microservice Architecture (DOMA), describing why the company adopted it, how domains, layer design, gateways and extensions are organized, the operational benefits achieved, and practical advice for companies of different sizes considering a similar evolution.

Software ArchitectureUberbackend engineering
0 likes · 18 min read
Domain‑Oriented Microservice Architecture (DOMA) at Uber: Design, Benefits, and Practical Guidance
IT Architects Alliance
IT Architects Alliance
Apr 15, 2021 · Backend Development

Why Understanding Software Architecture Evolution Is Key for Developers

This article outlines the four main software architecture styles—monolithic, distributed, microservices, and serverless—detailing their structures, advantages, drawbacks, and how each impacts development, maintenance, scalability, and operational costs for modern software engineers.

ServerlessSoftware Architecturemicroservices
0 likes · 11 min read
Why Understanding Software Architecture Evolution Is Key for Developers
Alibaba Cloud Developer
Alibaba Cloud Developer
Apr 14, 2021 · Fundamentals

Unlock the Core Logic of Design Patterns: Identify and Encapsulate Change

This article explains why mastering the underlying logic of design patterns—recognizing what changes and how to encapsulate those changes—is essential for developers to select appropriate patterns, improve object‑oriented design, and solve real‑world software problems effectively.

Object-Oriented DesignSoftware Architecturechange encapsulation
0 likes · 15 min read
Unlock the Core Logic of Design Patterns: Identify and Encapsulate Change
21CTO
21CTO
Apr 13, 2021 · Fundamentals

Choosing the Right Architecture: Monolith, Distributed, Microservices, and Serverless

Software developers need to understand the evolution of software architectures—from simple monolithic designs to distributed applications, microservices, and serverless platforms—because each model has distinct advantages and drawbacks that affect scalability, maintainability, deployment frequency, operational complexity, and overall cost.

Software Architecturedistributed systemsmicroservices
0 likes · 13 min read
Choosing the Right Architecture: Monolith, Distributed, Microservices, and Serverless
21CTO
21CTO
Apr 8, 2021 · Fundamentals

Uncovering the True Essence of Software Architecture: From Machine Code to Modern Design

This article explores the evolution of software development—from machine language and assembly to high‑level languages—examines the two software crises that spurred structured and object‑oriented programming, and explains how software architecture emerged to manage system scale, coupling, and complexity.

Software Architecturearchitecture fundamentalssoftware development
0 likes · 12 min read
Uncovering the True Essence of Software Architecture: From Machine Code to Modern Design
Architecture Digest
Architecture Digest
Apr 8, 2021 · Fundamentals

Understanding Domain-Driven Design: Core Concepts, Layers, and Patterns

This article explains the fundamentals of Domain-Driven Design, describing how a shared ubiquitous language and a well‑crafted domain model drive software architecture across presentation, application, domain, and infrastructure layers, and it covers key patterns such as aggregates, entities, value objects, repositories, CQRS, Event Sourcing, and DCI.

AggregatesCQRSDomain-Driven Design
0 likes · 36 min read
Understanding Domain-Driven Design: Core Concepts, Layers, and Patterns
IT Architects Alliance
IT Architects Alliance
Apr 4, 2021 · Fundamentals

Understanding Software Architecture: History, Concepts, and Principles

This article explores the evolution of software development from machine code to high‑level languages, explains the two software crises, and defines software architecture by clarifying related concepts such as systems, subsystems, modules, components, and frameworks, ultimately highlighting architecture as a solution to system complexity.

Software Architectureprogrammingsoftware engineering
0 likes · 12 min read
Understanding Software Architecture: History, Concepts, and Principles
Architects' Tech Alliance
Architects' Tech Alliance
Apr 3, 2021 · Fundamentals

Understanding Software Architecture: History, Concepts, and Definitions

This article explores the evolution of software development from machine language to high‑level languages, explains the two software crises, and defines software architecture by distinguishing systems, subsystems, modules, components, and frameworks, emphasizing architecture as a top‑level structural solution for managing complexity.

ComponentObject-OrientedSoftware Architecture
0 likes · 11 min read
Understanding Software Architecture: History, Concepts, and Definitions
Selected Java Interview Questions
Selected Java Interview Questions
Apr 2, 2021 · Backend Development

Design Patterns in MyBatis: Builder, Factory, Singleton, Proxy, Composite, Template Method, Adapter, Decorator, and Iterator

This article analyses how MyBatis applies nine classic design patterns—Builder, Factory, Singleton, Proxy, Composite, Template Method, Adapter, Decorator, and Iterator—by examining its source code, illustrating each pattern with explanations and concrete Java examples to deepen understanding of software design in backend development.

Design PatternsJavaMyBatis
0 likes · 20 min read
Design Patterns in MyBatis: Builder, Factory, Singleton, Proxy, Composite, Template Method, Adapter, Decorator, and Iterator
IT Architects Alliance
IT Architects Alliance
Mar 29, 2021 · Fundamentals

How to Create Clear Architecture Diagrams: Concepts, Types, and Best Practices

This article explains why architecture diagrams are essential for communication, defines key concepts, introduces the 4+1 view classification, outlines criteria for good diagrams, and presents the C4 modeling method with practical examples to help teams produce self‑describing, audience‑focused system visuals.

C4 modelSoftware ArchitectureSystem Design
0 likes · 9 min read
How to Create Clear Architecture Diagrams: Concepts, Types, and Best Practices
Top Architect
Top Architect
Mar 29, 2021 · Fundamentals

Understanding Software Architecture: History, Concepts, and Goals

This article explains the evolution of software development from machine code to high‑level languages, describes the two software crises that led to structured programming and OOP, and defines software architecture as the top‑level structure that manages system complexity through clear components, modules, and rules.

Software Architecturearchitecture fundamentalscomponent-based design
0 likes · 11 min read
Understanding Software Architecture: History, Concepts, and Goals
Top Architect
Top Architect
Mar 28, 2021 · Fundamentals

Anemic vs Rich Domain Model: Understanding DDD Concepts

The article explains the difference between anemic (transaction‑script) and rich (domain‑model) designs in DDD, outlines their historical origins, advantages and drawbacks, and argues why embedding behavior in domain objects aligns better with object‑oriented principles despite added complexity.

Anemic ModelDomain-Driven DesignRich Model
0 likes · 8 min read
Anemic vs Rich Domain Model: Understanding DDD Concepts
Architect
Architect
Mar 26, 2021 · Fundamentals

Anemic vs. Rich Domain Model: Core Concepts and Trade‑offs in Domain‑Driven Design

The article explains the fundamental differences between the anemic (transaction‑script) and rich (domain‑model) approaches in DDD, discusses their historical origins, advantages, disadvantages, and provides concrete examples to help developers decide when to apply each model in software architecture.

Anemic ModelDomain-Driven DesignObject-Oriented Design
0 likes · 8 min read
Anemic vs. Rich Domain Model: Core Concepts and Trade‑offs in Domain‑Driven Design
Xueersi Online School Tech Team
Xueersi Online School Tech Team
Mar 26, 2021 · Fundamentals

Design Patterns and SOLID Principles for Building a Message Sending Service

This article explains how to apply classic design patterns and the six SOLID principles—Liskov Substitution, Single Responsibility, Dependency Inversion, Interface Segregation, Law of Demeter, and Open‑Closed—to design a maintainable, extensible message‑sending system with task scheduling and dynamic provider configuration.

Design PatternsPHPSOLID
0 likes · 17 min read
Design Patterns and SOLID Principles for Building a Message Sending Service
Architect
Architect
Mar 17, 2021 · Fundamentals

Understanding Domains, Subdomains, and Core Domains in Domain-Driven Design

This article explains the distinction between technical and business domains, defines domains and subdomains, describes how to identify core, generic, and supporting subdomains, and outlines practical methods such as domain vision statements and highlighted cores for effective domain‑driven design.

Core DomainDDDDomain-Driven Design
0 likes · 10 min read
Understanding Domains, Subdomains, and Core Domains in Domain-Driven Design