Tagged articles

Software Architecture

1241 articles · Page 9 of 13
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.

MicroservicesServerlessSoftware Architecture
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.

Backend EngineeringMicroservicesSoftware Architecture
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.

MicroservicesServerlessSoftware Architecture
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.

MicroservicesSoftware Architecturedistributed systems
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.

ComponentSoftware ArchitectureSystem Design
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.

Backend DevelopmentDesign PatternsMyBatis
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.

Domain-Driven DesignObject-Oriented ProgrammingRich 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.

Domain-Driven DesignObject-Oriented DesignRich Model
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
IT Architects Alliance
IT Architects Alliance
Mar 16, 2021 · Fundamentals

Layered Thinking and Modeling in Architecture Design

This article explains how layered thinking and layered models guide architecture design, covering decomposition and integration, cloud three‑tier (IaaS‑PaaS‑SaaS) and SOA layering, the role of service and data layers, and how to combine cloud and SOA concepts into coherent architectural diagrams.

Cloud ComputingLayered DesignSOA
0 likes · 15 min read
Layered Thinking and Modeling in Architecture Design
IT Architects Alliance
IT Architects Alliance
Mar 14, 2021 · Fundamentals

Common Software Architecture Patterns: Layered, Multi‑Layer, Pipe‑Filter, Client‑Server, MVC, Event‑Driven, and Microservices

The article explains seven widely used software architecture patterns—layered, multi‑layer, pipe‑filter, client‑server, MVC, event‑driven, and microservices—detailing their contexts, problems they solve, typical structures, strengths, weaknesses, and suitable application scenarios.

Design PatternsMVCMicroservices
0 likes · 10 min read
Common Software Architecture Patterns: Layered, Multi‑Layer, Pipe‑Filter, Client‑Server, MVC, Event‑Driven, and Microservices
Programmer DD
Programmer DD
Mar 12, 2021 · Backend Development

Why Your “Distributed Monolith” Undermines Microservice Success

Many companies attempt microservice transformations only to end up with a “distributed monolith” that looks like microservices but retains monolithic flaws, leading to increased complexity, reduced stability, and minimal performance gains, as this article explains the root causes and how to avoid them.

Software Architecturedistributed monolithsystem stability
0 likes · 8 min read
Why Your “Distributed Monolith” Undermines Microservice Success
Huawei Cloud Developer Alliance
Huawei Cloud Developer Alliance
Mar 10, 2021 · Fundamentals

Mastering Clean Code: SOLID Principles, Architecture Patterns, and Naming Strategies

This article distills essential software design knowledge—covering the five SOLID principles, three common architecture styles, effective diagramming, naming conventions, and techniques for simplifying nested if‑else logic—providing concrete Python examples and visual aids to help developers write more maintainable and robust code.

Design PatternsPythonSoftware Architecture
0 likes · 22 min read
Mastering Clean Code: SOLID Principles, Architecture Patterns, and Naming Strategies
Programmer DD
Programmer DD
Mar 2, 2021 · Backend Development

How to Properly Layer Your Project: Best Practices and Alibaba Guidelines

This article explains why clear application layering matters, outlines Alibaba's recommended layers, proposes an optimized layering approach, details domain model mappings for each layer, and offers practical tips to improve maintainability and team collaboration in backend development.

Alibaba guidelinesLayered DesignSoftware Architecture
0 likes · 9 min read
How to Properly Layer Your Project: Best Practices and Alibaba Guidelines
ITFLY8 Architecture Home
ITFLY8 Architecture Home
Feb 18, 2021 · Cloud Native

What Is Cloud Native? Key Concepts, Principles, and Practices Explained

This article explains the cloud native paradigm—originating from Matt Stine in 2013—and its core components such as DevOps, continuous delivery, microservices, agile infrastructure, and the Twelve‑Factor App, showing how they enable resilient, scalable applications built directly on cloud services.

MicroservicesSoftware Architectureagile infrastructure
0 likes · 18 min read
What Is Cloud Native? Key Concepts, Principles, and Practices Explained
21CTO
21CTO
Feb 17, 2021 · Backend Development

Mastering API Design for Microservices: Principles, Pitfalls, and Best Practices

Effective API design is crucial for microservice architectures, reducing communication overhead, preventing API decay, and ensuring scalability; this article outlines common pitfalls, core design principles such as simplicity, focus, extensibility, compatibility, thorough testing, and documentation to help developers build robust, maintainable services.

API designBackend DevelopmentMicroservices
0 likes · 11 min read
Mastering API Design for Microservices: Principles, Pitfalls, and Best Practices
21CTO
21CTO
Feb 15, 2021 · Backend Development

From Java Developer to Architect: Lessons on Building High‑Concurrency Systems

The author reflects on their path from a senior Java developer to a software architect, describing early misconceptions, the pitfalls of over‑focusing on code, the importance of mastering existing components, and how design patterns and maintainability become essential when assembling high‑concurrency, distributed architectures.

Design PatternsHigh concurrencySoftware Architecture
0 likes · 8 min read
From Java Developer to Architect: Lessons on Building High‑Concurrency Systems
Code Ape Tech Column
Code Ape Tech Column
Feb 4, 2021 · Backend Development

From Monolith to Microservices: Tracing the Architecture Evolution

The article traces the evolution of software architecture—from monolithic applications through vertical splitting, distributed services, and finally microservices—detailing their advantages, drawbacks, and the essential technology stack such as service discovery, API gateways, authentication, logging, containerization, orchestration, and CI/CD, while providing practical examples and references.

Backend DevelopmentMicroservicesSoftware Architecture
0 likes · 19 min read
From Monolith to Microservices: Tracing the Architecture Evolution
iQIYI Technical Product Team
iQIYI Technical Product Team
Jan 29, 2021 · Frontend Development

Efficient Front-End Componentization Practices at iQIYI Knowledge Web Team

The iQIYI Knowledge Web front‑end team built a developer‑oriented component library that splits UI and business logic into reusable basic and business Vue components, enforces clear input/output contracts, uses on‑demand loading and Storybook documentation, achieving high code reuse, maintainability, and consistent UI across independent projects while tackling bundle size and CI/CD challenges.

ComponentizationFrontendSoftware Architecture
0 likes · 14 min read
Efficient Front-End Componentization Practices at iQIYI Knowledge Web Team
21CTO
21CTO
Jan 26, 2021 · Fundamentals

Mastering the 21 Essential Software Architecture Characteristics

This article explains the twenty‑one key non‑functional characteristics of software architecture—such as performance, reliability, scalability, security and maintainability—detailing their definitions, typical metrics, and practical techniques for improvement, while linking each trait to ISO‑25010 and real‑world engineering practices.

Non-functional RequirementsPerformanceReliability
0 likes · 20 min read
Mastering the 21 Essential Software Architecture Characteristics
Alibaba Cloud Developer
Alibaba Cloud Developer
Jan 12, 2021 · Fundamentals

Domain Model vs Data Model: When to Use Each and Avoid Common Pitfalls

This article explains the definitions of domain and data models, illustrates why they are often confused, shows real‑world examples of misusing each, and provides practical guidance on separating them to improve system design, scalability, and maintainability.

Database DesignObject-Oriented ProgrammingSoftware Architecture
0 likes · 10 min read
Domain Model vs Data Model: When to Use Each and Avoid Common Pitfalls
dbaplus Community
dbaplus Community
Jan 9, 2021 · Backend Development

How We Refactored a 30k‑Line Ad Engine in One Month: Key Lessons

In this detailed case study, a team describes how they successfully refactored a 30,000‑line advertising engine within a month, covering the system's legacy challenges, preparation steps, execution tactics, testing strategies, and the seven critical takeaways that ensured a smooth, low‑risk rollout.

Ad TechProject ManagementSoftware Architecture
0 likes · 11 min read
How We Refactored a 30k‑Line Ad Engine in One Month: Key Lessons
Youzan Coder
Youzan Coder
Jan 6, 2021 · Backend Development

Decoupling Chain Business Logic: Challenges, Design Principles, and Implementation

The article examines the tangled code and maintenance pain points of multi‑store (chain) product management, then proposes separating generic and chain‑specific logic into distinct services—mei‑goods for single‑store functions and mei‑chain for cross‑store rules—using OCP, SRP, and domain‑driven design to achieve decoupling, isolated deployment, clearer responsibilities, and improved system stability and developer productivity.

Code DecouplingMicroservicesSoftware Architecture
0 likes · 16 min read
Decoupling Chain Business Logic: Challenges, Design Principles, and Implementation
Programmer DD
Programmer DD
Dec 26, 2020 · R&D Management

Why Alibaba Is Thinning Its Mid‑Platform and What It Means for Innovation

The article analyzes Alibaba's recent decision to dismantle and thin its mid‑platform, tracing its origins, evaluating its impact on business agility and innovation, and discussing why a leaner architecture suits combination‑style innovation while disruptive breakthroughs require a different approach.

AlibabaSoftware Architectureinnovation
0 likes · 7 min read
Why Alibaba Is Thinning Its Mid‑Platform and What It Means for Innovation
Beike Product & Technology
Beike Product & Technology
Dec 24, 2020 · Frontend Development

Improving Frontend Efficiency with the YuanShi Platform: Team Structure, Collaboration, and Component‑Based Development

The article explains how the YuanShi platform was created to address front‑end talent shortage by standardising tools, redefining team structures, introducing component‑based cooperation, and outlining the evolution, benefits, challenges, and future directions of this approach within a large B‑end organization.

Component LibraryFrontendPlatform
0 likes · 14 min read
Improving Frontend Efficiency with the YuanShi Platform: Team Structure, Collaboration, and Component‑Based Development
Architects' Tech Alliance
Architects' Tech Alliance
Dec 22, 2020 · Fundamentals

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

This article explains the abstract nature of software architecture, why it is essential for any system, the responsibilities of architects, various architecture classifications, typical patterns such as layered, CQRS, hexagonal and onion, and introduces the open‑source COLA architecture with its layered design, extension and specification concepts.

COLADesign PatternsDomain-Driven Design
0 likes · 13 min read
Understanding Software Architecture: Concepts, Classifications, and the COLA Application Architecture
Huawei Cloud Developer Alliance
Huawei Cloud Developer Alliance
Dec 17, 2020 · Operations

How DevOps and Microservices Enable Fast, Stable Software Delivery

This article compares ancient warfare logistics with modern software delivery, defines DevOps and microservices, presents survey data on DevOps adoption, explains microservice characteristics, outlines suitable scenarios, and discusses the benefits and challenges of adopting a microservice‑based DevOps approach.

MicroservicesSoftware Architecturecloud-native
0 likes · 10 min read
How DevOps and Microservices Enable Fast, Stable Software Delivery
Code Ape Tech Column
Code Ape Tech Column
Dec 13, 2020 · Fundamentals

Common Software Architecture Patterns and Their Characteristics

This article introduces seven common software architecture patterns—layered, multilayer, pipe‑filter, client‑server, MVC, event‑driven, and microservices—explaining their context, typical problems they address, core solutions, inherent drawbacks, and suitable application scenarios for developers and system designers.

Design PatternsMVCMicroservices
0 likes · 10 min read
Common Software Architecture Patterns and Their Characteristics
vivo Internet Technology
vivo Internet Technology
Dec 9, 2020 · Backend Development

Applying Domain‑Driven Design in Microservice Architecture: Practices and Principles

The article explains how monolithic drawbacks—complexity, technical debt, and scaling issues—drive the shift to microservices, then details applying Domain‑Driven Design principles such as bounded contexts, aggregates, and layered architecture to design cohesive, loosely‑coupled services, illustrated with e‑commerce examples and code snippets.

AggregatesClean ArchitectureDomain-Driven Design
0 likes · 26 min read
Applying Domain‑Driven Design in Microservice Architecture: Practices and Principles
ITFLY8 Architecture Home
ITFLY8 Architecture Home
Dec 6, 2020 · Fundamentals

Mastering 7 Core Software Architecture Patterns: When and How to Use Them

This article explains seven fundamental software architecture patterns—layered, multi‑layer, pipe‑filter, client‑server, MVC, event‑driven, and microservices—detailing their contexts, problems they solve, typical solutions, drawbacks, and ideal use cases for developers seeking robust system designs.

Design PatternsMVCMicroservices
0 likes · 12 min read
Mastering 7 Core Software Architecture Patterns: When and How to Use Them
macrozheng
macrozheng
Dec 4, 2020 · Fundamentals

Mastering the Chain of Responsibility Pattern with a Qing Dynasty Journey Example

This article introduces the Chain of Responsibility design pattern using a whimsical Qing dynasty south‑tour scenario, walks through class design, UML diagrams, and Java code examples—including abstract officials, a singleton emperor, and a prime minister orchestrating the travel—demonstrating flexible, extensible workflow construction.

Software Architectureoop
0 likes · 13 min read
Mastering the Chain of Responsibility Pattern with a Qing Dynasty Journey Example
IT Architects Alliance
IT Architects Alliance
Nov 29, 2020 · Backend Development

Why High Performance Makes Software Architecture So Complex—and How to Tame It

The article analyzes how the relentless pursuit of high performance drives both single‑machine and cluster‑level architectural complexity, explaining the evolution from batch processing to multi‑core CPUs, the trade‑offs of processes, threads, SMP/NUMA/MPP, and the challenges of task allocation and decomposition in large‑scale systems.

PerformanceSoftware Architecturebackend
0 likes · 16 min read
Why High Performance Makes Software Architecture So Complex—and How to Tame It
Top Architect
Top Architect
Nov 29, 2020 · Backend Development

Software Architecture Patterns: Traditional Three‑Tier, Cluster, Distributed, and Microservice Architectures

This article explains common software architecture patterns—including traditional three‑tier, cluster (horizontal scaling), distributed (vertical splitting), and microservice (vertical division) architectures—detailing their components, advantages, drawbacks, and configuration examples such as Tomcat clustering with Nginx load balancing.

ClusteringMicroservicesSoftware Architecture
0 likes · 9 min read
Software Architecture Patterns: Traditional Three‑Tier, Cluster, Distributed, and Microservice Architectures
ITFLY8 Architecture Home
ITFLY8 Architecture Home
Nov 28, 2020 · Fundamentals

What 19 Core Topics Every Software Architect Must Master

This article outlines a comprehensive knowledge framework for software architects, covering nineteen essential areas such as responsibilities, foundational concepts, internet system challenges, distributed caching, messaging, load balancing, performance testing, operating systems, algorithms, networking, database design, JVM internals, flash-sale systems, microservices, domain‑driven design, security, high‑availability, big data, and blockchain.

Big DataMicroservicesSoftware Architecture
0 likes · 6 min read
What 19 Core Topics Every Software Architect Must Master
IT Architects Alliance
IT Architects Alliance
Nov 27, 2020 · R&D Management

Why Do We Really Need Software Architecture? Uncovering the True Purpose

This article examines common misconceptions about software architecture, explains that its core purpose is to manage system complexity, offers practical guidance for identifying complexity hotspots, and presents a concrete university student‑management system case study to illustrate effective architectural decision‑making.

R&DSoftware ArchitectureSystem Design
0 likes · 11 min read
Why Do We Really Need Software Architecture? Uncovering the True Purpose
Top Architect
Top Architect
Nov 27, 2020 · Fundamentals

Common Software Architecture Patterns and Their Applications

This article introduces ten widely used software architecture patterns—including layered, client‑server, master‑slave, pipe‑filter, broker, P2P, blackboard, interpreter, and MVC—explaining their structures, typical use cases, advantages, and disadvantages, and provides a comparative table to help developers select the most suitable pattern for enterprise‑level system design.

Software ArchitectureSystem Designarchitecture patterns
0 likes · 11 min read
Common Software Architecture Patterns and Their Applications
IT Architects Alliance
IT Architects Alliance
Nov 26, 2020 · Industry Insights

Why Did Software Architecture Emerge? A Journey Through Programming History

The article traces the evolution of software development—from early machine code and assembly, through high‑level languages, the first and second software crises, structured and object‑oriented programming, to the rise of software architecture in the 1990s—explaining the historical forces that shaped modern architectural design.

Software Architectureobject-orientedprogramming history
0 likes · 13 min read
Why Did Software Architecture Emerge? A Journey Through Programming History
IT Architects Alliance
IT Architects Alliance
Nov 25, 2020 · Fundamentals

What Exactly Is Software Architecture? Clarifying Systems, Modules, and Frameworks

This article demystifies software architecture by defining systems, subsystems, modules, components, and frameworks, illustrating their relationships with real‑world examples and diagrams, and proposing a concise definition of architecture as the top‑level structure of a software system.

Software ArchitectureSystem Designarchitecture fundamentals
0 likes · 10 min read
What Exactly Is Software Architecture? Clarifying Systems, Modules, and Frameworks
NetEase Cloud Music Tech Team
NetEase Cloud Music Tech Team
Nov 25, 2020 · Fundamentals

Implementing IoC and DI in TypeScript: A Practical Guide

This guide shows how to build a lightweight Inversion of Control container in TypeScript and use Reflect‑Metadata decorators to register providers and inject dependencies, demonstrating how constructor‑based injection decouples classes, simplifies testing, and mirrors patterns used in frameworks such as NestJS, Midway, and Angular.

DecoratorDependency InjectionIOC
0 likes · 16 min read
Implementing IoC and DI in TypeScript: A Practical Guide
Alibaba Cloud Developer
Alibaba Cloud Developer
Nov 24, 2020 · Fundamentals

Why Classification Thinking Is the Core of Application Architecture

This article explains how classification thinking—organizing software into modules, components, and packages—forms the foundation of application architecture, illustrates the COLA framework’s evolution, and shows how proper layering and domain‑oriented packaging improve maintainability and scalability.

COLAComponentPackage
0 likes · 15 min read
Why Classification Thinking Is the Core of Application Architecture
Full-Stack Internet Architecture
Full-Stack Internet Architecture
Nov 20, 2020 · Fundamentals

Understanding the Chain of Responsibility Design Pattern with a Historical Example

This article introduces the Chain of Responsibility design pattern, explains its motivation through a Qing‑dynasty travel scenario, outlines class design and UML, provides complete Java code examples, demonstrates extensibility, and discusses broader applications in modern software systems.

Chain of ResponsibilitySoftware Architecturedesign-pattern
0 likes · 12 min read
Understanding the Chain of Responsibility Design Pattern with a Historical Example
Programmer DD
Programmer DD
Nov 17, 2020 · Fundamentals

Why Good Software Architecture Matters: From Basics to the COLA Framework

This article explains the concept of software architecture, why it is essential, the responsibilities of architects, various architecture classifications, and introduces practical application architectures such as layered, CQRS, hexagonal, onion, and the open‑source COLA framework, highlighting how separating business logic from technical details improves maintainability and scalability.

COLA frameworkCQRSSoftware Architecture
0 likes · 16 min read
Why Good Software Architecture Matters: From Basics to the COLA Framework
JavaEdge
JavaEdge
Nov 4, 2020 · Fundamentals

Mastering the Strategy Pattern: When and How to Replace Complex if/else

This article explains the Strategy (Policy) pattern, detailing its definition, class diagram, typical use cases, advantages and drawbacks, compares it with Factory and State patterns, and provides a practical Java implementation with sample code and analysis of related JDK components.

Design PatternsSoftware ArchitectureStrategy Pattern
0 likes · 6 min read
Mastering the Strategy Pattern: When and How to Replace Complex if/else
IT Architects Alliance
IT Architects Alliance
Nov 3, 2020 · Backend Development

How to Learn Microservices: Learning Pyramid, Path, and Six Core Components

This article presents a structured approach to mastering microservices, covering the learning pyramid concept, a detailed learning path with resource collection, and an overview of the six essential components—service description, registry, framework, monitoring, tracing, and governance—along with practical tips and visual diagrams.

MicroservicesSoftware Architecturebackend
0 likes · 9 min read
How to Learn Microservices: Learning Pyramid, Path, and Six Core Components
21CTO
21CTO
Oct 30, 2020 · Fundamentals

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

This article explains seven common software architecture patterns—layered, multi‑layer, pipe‑filter, client‑server, MVC, event‑driven, and microservices—detailing their contexts, problems they solve, typical structures, strengths, weaknesses, and suitable application scenarios to help developers choose the right architecture for their projects.

Design PatternsMVCSoftware Architecture
0 likes · 12 min read
What Are the 7 Core Software Architecture Patterns and When to Use Them?
21CTO
21CTO
Oct 30, 2020 · R&D Management

7 Surprising Lessons to Turn Your Tech Expertise into Career Growth

The article follows architect Da Liu’s frustration over being passed over for promotion, revealing seven practical strategies—from reading diverse code and accurately judging project direction to mastering meeting management and version control—that can help engineers transform technical expertise into career advancement.

Project ManagementSoftware Architecturecareer development
0 likes · 14 min read
7 Surprising Lessons to Turn Your Tech Expertise into Career Growth
IT Architects Alliance
IT Architects Alliance
Oct 28, 2020 · Fundamentals

Why Architecture Matters: From Basics to the COLA Open‑Source Framework

This article explains what software architecture is, why it is essential, the responsibilities of architects, various classification types, common patterns such as layered, CQRS, hexagonal and onion architectures, and introduces the open‑source COLA framework with its layered design, extension mechanisms, and specification rules.

COLACQRSDesign Patterns
0 likes · 14 min read
Why Architecture Matters: From Basics to the COLA Open‑Source Framework
Selected Java Interview Questions
Selected Java Interview Questions
Oct 28, 2020 · Fundamentals

Decorator Pattern in Java: Theory, Code Examples, and Practical Usage

This article explains the Decorator design pattern, compares a naïve inheritance approach with a proper decorator implementation in Java, provides complete code examples, class diagram, usage scenarios, advantages, and disadvantages, demonstrating how to dynamically extend object behavior without modifying existing code.

Design PatternsSoftware Architecturedecorator-pattern
0 likes · 10 min read
Decorator Pattern in Java: Theory, Code Examples, and Practical Usage
IT Architects Alliance
IT Architects Alliance
Oct 27, 2020 · Fundamentals

Understanding Software Architecture: Essence, Classifications, and Evaluation Criteria

This article explains the essence of software architecture, outlines its various classifications—including business, application, technical, code, and deployment architectures—describes when architecture design is needed, and presents metrics and common pitfalls for evaluating a sound, scalable system.

Software ArchitectureSystem Designbackend
0 likes · 14 min read
Understanding Software Architecture: Essence, Classifications, and Evaluation Criteria
IT Architects Alliance
IT Architects Alliance
Oct 26, 2020 · R&D Management

What Skills Do You Need to Become a Great Software Architect?

This comprehensive guide outlines the philosophical mindset, core competencies, technical knowledge, architectural principles, and essential tools that aspiring software architects should master to build robust, scalable, and secure systems in modern IT environments.

Cloud ComputingSoftware ArchitectureSystem Design
0 likes · 14 min read
What Skills Do You Need to Become a Great Software Architect?
Architects' Tech Alliance
Architects' Tech Alliance
Oct 25, 2020 · Fundamentals

Understanding Software Architecture and the COLA Application Architecture

This article explains the concept of software architecture, why it is needed, the responsibilities of architects, various architectural classifications and patterns such as layered, CQRS, hexagonal and onion architectures, and introduces the COLA framework with its layered design, extension mechanisms, and specification guidelines.

COLACQRSLayered Design
0 likes · 12 min read
Understanding Software Architecture and the COLA Application Architecture
IT Architects Alliance
IT Architects Alliance
Oct 25, 2020 · R&D Management

From Senior Engineer to Software Architect: A Practical Roadmap

This article outlines a step‑by‑step career roadmap for developers who aspire to become software architects, covering role definitions, required technical and managerial skills, learning pathways such as OOP, design patterns and refactoring, and practical advice for continuous self‑improvement.

Design PatternsR&D ManagementSoftware Architecture
0 likes · 24 min read
From Senior Engineer to Software Architect: A Practical Roadmap
IT Architects Alliance
IT Architects Alliance
Oct 25, 2020 · R&D Management

What Skills Make a Software Architect the Driving Force Behind a Company?

The article outlines the essential competencies—technical mastery, business understanding, design foresight, depth and breadth of knowledge, communication, and systematic thinking—that a software architect must develop to effectively lead and deliver complex projects within an organization.

R&D ManagementSoftware ArchitectureSystem Design
0 likes · 15 min read
What Skills Make a Software Architect the Driving Force Behind a Company?
ITFLY8 Architecture Home
ITFLY8 Architecture Home
Oct 24, 2020 · Backend Development

Mastering Complex Business Logic: A Structured Approach for Scalable Backend Development

In this article, Alibaba senior tech expert Zhang Jianfei shares a practical methodology for handling intricate business scenarios—like product listing in the Retail platform—by combining top‑down process decomposition with bottom‑up object‑oriented modeling, avoiding heavyweight workflow tools, and applying ability sinking to keep domain code clean, reusable, and maintainable.

Object ModelingSoftware Architectureability sinking
0 likes · 14 min read
Mastering Complex Business Logic: A Structured Approach for Scalable Backend Development
Alibaba Cloud Native
Alibaba Cloud Native
Oct 24, 2020 · Backend Development

Mastering Complex Business Logic: A Structured Decomposition Methodology

This article presents a practical methodology for writing clean, maintainable code for complex business scenarios, using structured top‑down process decomposition combined with bottom‑up object modeling, illustrated with a retail product‑on‑sale case, code samples, and guidance on tool usage, domain modeling, and capability sinking.

Domain-Driven DesignSoftware Architecturecode decomposition
0 likes · 14 min read
Mastering Complex Business Logic: A Structured Decomposition Methodology
ITFLY8 Architecture Home
ITFLY8 Architecture Home
Oct 23, 2020 · 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 classification types, typical architectural patterns such as layered, CQRS, hexagonal and onion architectures, and introduces Alibaba's open‑source COLA framework with its layered design, extension and specification concepts.

COLA frameworkCQRSLayered Design
0 likes · 14 min read
Why Architecture Matters: From Basics to the COLA Framework
IT Architects Alliance
IT Architects Alliance
Oct 22, 2020 · Fundamentals

15 Universal Software Architecture Principles and Key Design Guidelines

The article presents a comprehensive set of fifteen universal software architecture principles—ranging from redundancy and rollback to automation and non‑intrusive design—along with essential design guidelines such as separation of concerns, single responsibility, and low coupling to help architects build scalable, reliable, and maintainable systems.

Best PracticesReliabilitySoftware Architecture
0 likes · 12 min read
15 Universal Software Architecture Principles and Key Design Guidelines
IT Architects Alliance
IT Architects Alliance
Oct 21, 2020 · Fundamentals

How to Define an Architecture Vision: Steps, Layers, and Goals for Robust Software Design

This article explains how to craft an architecture vision by answering core philosophical questions, applying a waterfall design process, distinguishing vision from concrete goals, exploring three hierarchical levels of vision, and linking requirements, quality attributes, and design principles to create a coherent, future‑proof software architecture.

Software Architecturearchitecture visiondesign process
0 likes · 15 min read
How to Define an Architecture Vision: Steps, Layers, and Goals for Robust Software Design
IT Architects Alliance
IT Architects Alliance
Oct 21, 2020 · R&D Management

Turning Requirements into Effective Architecture Designs: A Practical Guide

This article explains how to conduct thorough requirement analysis, classify and prioritize needs, and translate them into solid software architecture decisions, highlighting demand capture, functional, quality, and constraint considerations, as well as practical steps for prioritization and implementation.

R&D ManagementSoftware ArchitectureSystem Design
0 likes · 6 min read
Turning Requirements into Effective Architecture Designs: A Practical Guide
Top Architect
Top Architect
Oct 19, 2020 · Fundamentals

Common Software Architecture Patterns and Their Comparisons

This article introduces ten widely used software architecture patterns, explains their purposes, advantages, disadvantages, and typical application scenarios, and provides a comparative table to help developers choose the most suitable architecture for large‑scale enterprise systems.

MVCSoftware ArchitectureSystem Design
0 likes · 11 min read
Common Software Architecture Patterns and Their Comparisons
ITFLY8 Architecture Home
ITFLY8 Architecture Home
Oct 16, 2020 · Fundamentals

Why the 4+1 View Model Transforms Software Architecture Design

This article explains the 4+1 view model for software architecture, detailing its logical, process, development, and physical views, how scenarios tie them together, and why using multiple concurrent views improves design, documentation, and risk management in large‑scale systems.

4+1 view modelSoftware ArchitectureSystem Design
0 likes · 25 min read
Why the 4+1 View Model Transforms Software Architecture Design
Sohu Tech Products
Sohu Tech Products
Oct 14, 2020 · R&D Management

Understanding Mid‑Platform (Zhongtai) Architecture: Concepts, Types, and Industry Practices

This comprehensive article explains the concept of the mid‑platform (Zhongtai), its origins, classification into business, data, algorithm, technical, R&D, and organizational platforms, examines the challenges it solves, and reviews real‑world implementations by Alibaba, Huawei, NetEase, Baidu, and Tencent, concluding with practical guidance for adopting a suitable platform strategy.

Data PlatformR&D ManagementSoftware Architecture
0 likes · 30 min read
Understanding Mid‑Platform (Zhongtai) Architecture: Concepts, Types, and Industry Practices
Open Source Linux
Open Source Linux
Oct 12, 2020 · Fundamentals

What Is Software Architecture? Core Concepts, Layers, and Evolution Explained

This comprehensive guide explains the essence of software architecture, clarifies related concepts such as systems, modules, and frameworks, and details various architectural layers, classifications, evolution paths, and best‑practice considerations for building robust, scalable systems.

MicroservicesSoftware ArchitectureSystem Design
0 likes · 22 min read
What Is Software Architecture? Core Concepts, Layers, and Evolution Explained
JavaEdge
JavaEdge
Oct 10, 2020 · Fundamentals

Why High‑Level Modules Should Depend on Abstractions: Mastering Dependency Inversion

This article explains the Dependency Inversion Principle, shows why traditional layered architectures suffer from maintenance and reuse problems, provides concrete Java and web examples, and demonstrates how refactoring to abstract interfaces resolves these issues for more flexible, decoupled software design.

Dependency InversionSoftware ArchitectureSpring
0 likes · 9 min read
Why High‑Level Modules Should Depend on Abstractions: Mastering Dependency Inversion
Full-Stack Internet Architecture
Full-Stack Internet Architecture
Oct 9, 2020 · Fundamentals

Chain of Responsibility Pattern in Java: Definition, Roles, Code Examples, and Applications

This article explains the Chain of Responsibility design pattern, its definition, roles, Java code examples, real‑world applications such as servlet filters and Spring MVC, advantages, drawbacks, and typical usage scenarios, providing a comprehensive overview for developers.

Chain of ResponsibilitySoftware Architecturedesign-pattern
0 likes · 9 min read
Chain of Responsibility Pattern in Java: Definition, Roles, Code Examples, and Applications
IT Architects Alliance
IT Architects Alliance
Oct 8, 2020 · Fundamentals

Understanding Software Architecture: Core Concepts, Layers, and Evolution

This comprehensive guide explains what software architecture is, distinguishes systems, subsystems, modules, components, and frameworks, outlines architecture layers and classifications, describes strategic versus tactical design, tracks the evolution from monoliths to micro‑services, and highlights how to evaluate and avoid common architectural pitfalls.

MicroservicesPerformanceSoftware Architecture
0 likes · 25 min read
Understanding Software Architecture: Core Concepts, Layers, and Evolution
Architects' Tech Alliance
Architects' Tech Alliance
Oct 7, 2020 · Fundamentals

Understanding Software Architecture: Concepts, Layers, Types, Evolution, and Common Pitfalls

This article explains the fundamental concepts of software architecture, distinguishes systems, subsystems, modules and components, describes various architectural layers such as business, application, data, code, technical and deployment, outlines evolution from monoliths to micro‑services, and highlights common misconceptions and measurement criteria for a sound architecture.

MicroservicesSoftware ArchitectureSystem Design
0 likes · 29 min read
Understanding Software Architecture: Concepts, Layers, Types, Evolution, and Common Pitfalls
Alibaba Cloud Native
Alibaba Cloud Native
Oct 6, 2020 · Fundamentals

Mastering System Design: From Core Concepts to Practical Architecture

This comprehensive guide walks you through the fundamentals of system design, covering core concepts, analytical thinking, modeling techniques, architecture classification, design tools, and best‑practice principles to help you build robust, scalable software systems.

Domain-Driven DesignSoftware ArchitectureSystem Design
0 likes · 46 min read
Mastering System Design: From Core Concepts to Practical Architecture
ITFLY8 Architecture Home
ITFLY8 Architecture Home
Oct 5, 2020 · Backend Development

When Microservices Fail: 5 Scenarios to Avoid Their Use

Microservices aren’t a universal solution; this article outlines five common situations—insufficient complexity, small teams, indivisible applications, legacy system integration, and tight real‑time integration—where adopting a microservice architecture can add unnecessary overhead and risk, advising developers to choose the right architecture for their needs.

MicroservicesSoftware ArchitectureSystem Design
0 likes · 6 min read
When Microservices Fail: 5 Scenarios to Avoid Their Use
Java Architect Essentials
Java Architect Essentials
Sep 20, 2020 · Backend Development

Eight Common Software Architecture Design Patterns and Their Advantages and Disadvantages

The article introduces eight widely used software architecture design patterns—including single‑database single‑application, content distribution, query separation, microservice, multi‑level cache, sharding, elastic scaling, and multi‑datacenter—explaining their typical structures, suitable scenarios, and the main pros and cons of each.

Design PatternsMicroservicesSoftware Architecture
0 likes · 22 min read
Eight Common Software Architecture Design Patterns and Their Advantages and Disadvantages
DevOps
DevOps
Sep 14, 2020 · Cloud Native

Cloud‑Native Application Development: Principles, Architecture, and a Six‑Step Build Path

The article explains what cloud‑native applications are, contrasts them with traditional software, outlines four core cloud‑native development principles, and details a six‑step process—including DevOps culture, lightweight servers, PaaS, framework selection, automation, and modular architecture—to accelerate building and deploying cloud‑native solutions.

ContainersMicroservicesOpenShift
0 likes · 10 min read
Cloud‑Native Application Development: Principles, Architecture, and a Six‑Step Build Path
Java Architect Essentials
Java Architect Essentials
Sep 13, 2020 · Backend Development

Which Software Architecture Fits Your Project? 5 Patterns Compared

This article compares five common software architecture patterns—layered, event‑driven, microkernel‑plugin, microservices, and cache—detailing their structures, advantages, drawbacks, and ideal use cases, helping architects choose the most suitable design for new or existing applications.

CacheMicroservicesSoftware Architecture
0 likes · 9 min read
Which Software Architecture Fits Your Project? 5 Patterns Compared
Top Architect
Top Architect
Sep 9, 2020 · Backend Development

Principles and Practices for Effective Code Review and Software Architecture

This article shares the author's insights on why engineers and leaders must conduct code reviews, identifies common causes of poor code such as duplication and premature decisions, and presents a set of design principles, model‑driven thinking, and concrete Go code examples to help improve software quality and maintainability.

GolangSoftware Architecturecode review
0 likes · 44 min read
Principles and Practices for Effective Code Review and Software Architecture
IT Architects Alliance
IT Architects Alliance
Sep 5, 2020 · Fundamentals

How to Visualize Your Project Architecture with C4PlantUML

This guide explains why architecture diagrams matter, introduces the C4 modeling method, shows how to use C4PlantUML with PlantUML to create context, container, component, and code‑level diagrams, and provides step‑by‑step instructions and example code for practical implementation.

C4ModelPlantUMLSoftware Architecture
0 likes · 12 min read
How to Visualize Your Project Architecture with C4PlantUML
Taobao Frontend Technology
Taobao Frontend Technology
Sep 4, 2020 · Frontend Development

How a Frontend Engineer Turned Career Confusion into Multimedia Innovation

In this candid talk, a former Alibaba multimedia front‑end engineer shares his career journey—from early patents and B2B animation work to leading live‑streaming projects, detailing the challenges, technical breakthroughs, and personal reflections that helped him overcome professional uncertainty.

Live StreamingSoftware Architecturecareer development
0 likes · 13 min read
How a Frontend Engineer Turned Career Confusion into Multimedia Innovation
IT Architects Alliance
IT Architects Alliance
Sep 3, 2020 · Fundamentals

Understanding Software Architecture: Concepts, Layers, and Evolution

This article explains the fundamental concepts of software architecture, including definitions of systems, modules, frameworks, various architectural layers such as business, application, data, code, technical and deployment, and discusses the evolution from monolithic to distributed and microservice architectures along with evaluation criteria and common pitfalls.

MicroservicesSoftware ArchitectureSystem Design
0 likes · 20 min read
Understanding Software Architecture: Concepts, Layers, and Evolution
Architects' Tech Alliance
Architects' Tech Alliance
Sep 2, 2020 · Fundamentals

Understanding Software Architecture: Concepts, Layers, Classifications, and Evolution

This article explains the fundamental concepts of software architecture, distinguishes system, subsystem, module, component, and framework, outlines architectural layers and classifications, describes the evolution from monolithic to distributed and micro‑service architectures, and discusses how to evaluate and avoid common design pitfalls.

MicroservicesSoftware ArchitectureSystem Design
0 likes · 18 min read
Understanding Software Architecture: Concepts, Layers, Classifications, and Evolution
ITPUB
ITPUB
Aug 31, 2020 · Backend Development

How Biz-UI Crafted a Scalable Business Middle Platform – Lessons from the Frontlines

This article explains the concept of a business middle platform, distinguishes it from front‑end, back‑end and generic platforms, outlines its classifications, and details Biz‑UI's three‑stage journey of building, designing, and deploying a reusable micro‑service‑based middle platform for rapid business innovation.

ReusabilitySoftware Architecturebusiness middle platform
0 likes · 19 min read
How Biz-UI Crafted a Scalable Business Middle Platform – Lessons from the Frontlines
政采云技术
政采云技术
Aug 30, 2020 · Frontend Development

High-Quality Maintainable Code: Data Modeling for Frontend Development

This article explains the fundamentals of data modeling for front‑end development, covering its three core elements, integrity constraints, domain‑driven design, layered architecture, and practical guidelines for building clean, maintainable front‑end data models.

Domain-Driven DesignFrontendSoftware Architecture
0 likes · 14 min read
High-Quality Maintainable Code: Data Modeling for Frontend Development