Tagged articles

Software Architecture

1241 articles · Page 11 of 13
Python Crawling & Data Mining
Python Crawling & Data Mining
Sep 22, 2019 · R&D Management

Why Tech Leaders Must Care About Details: Real‑World Hiring Insights

The article explores how senior technical managers, from directors to CTOs, need deep technical detail awareness to succeed in fast‑growing companies, illustrating the pitfalls of neglecting details through personal anecdotes, hiring experiences, and practical advice on team structure and leadership.

CTO hiringR&D ManagementSoftware Architecture
0 likes · 11 min read
Why Tech Leaders Must Care About Details: Real‑World Hiring Insights
Architect's Tech Stack
Architect's Tech Stack
Sep 20, 2019 · Backend Development

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

This article examines how MyBatis applies classic design patterns—including Builder, Factory, Singleton, Proxy, Composite, Template Method, Adapter, Decorator, and Iterator—by analysing source code snippets and explaining each pattern's role in the framework's configuration, execution, caching, and dynamic SQL generation.

Backend DevelopmentDesign PatternsMyBatis
0 likes · 18 min read
Design Patterns in MyBatis: Builder, Factory, Singleton, Proxy, Composite, Template Method, Adapter, Decorator, Iterator
ITFLY8 Architecture Home
ITFLY8 Architecture Home
Sep 14, 2019 · Fundamentals

Unlocking Software Design Patterns: Complete Series Outline & Roadmap

This announcement outlines a new series on software design patterns, detailing its origin, purpose, structured article format, and a comprehensive roadmap covering object‑oriented fundamentals, design principles, and individual patterns such as Singleton, Factory, Adapter, and many more, with Java examples.

Design PatternsSoftware Architecturejava
0 likes · 5 min read
Unlocking Software Design Patterns: Complete Series Outline & Roadmap
Architecture Digest
Architecture Digest
Sep 12, 2019 · Backend Development

Methodology for Writing Complex Business Code: Process Decomposition and Domain Modeling

This article presents a practical methodology for handling complex business logic by combining top‑down process decomposition with bottom‑up domain modeling, illustrating the approach with a detailed product‑on‑sale use case, code examples, and guidance on avoiding over‑reliance on tooling.

Domain-Driven DesignSoftware Architecturecode organization
0 likes · 12 min read
Methodology for Writing Complex Business Code: Process Decomposition and Domain Modeling
Alibaba Cloud Developer
Alibaba Cloud Developer
Aug 29, 2019 · Fundamentals

Why Architecture Matters: Unpacking Application Design Principles and the COLA Framework

This article explains what software architecture is, why it is essential for any system, the responsibilities of architects, various architecture classifications, and introduces the COLA open‑source framework that combines layered, hexagonal, and onion architectures with CQRS and extensibility to separate business logic from technical details.

COLA frameworkCQRSSoftware Architecture
0 likes · 14 min read
Why Architecture Matters: Unpacking Application Design Principles and the COLA Framework
Architects Research Society
Architects Research Society
Aug 28, 2019 · Cloud Native

Architecture Is Abstract Until Operationalized: A Thought Experiment on Software Evolution and Microservices

The article explores how software architecture, traditionally depicted with static diagrams, must be continuously operationalized and evolved—illustrated by a thought experiment of a dormant computer, real‑world airline case, and the rise of microservices and DevOps practices—to remain viable in a constantly changing ecosystem.

MicroservicesSoftware Architecturecontinuous delivery
0 likes · 7 min read
Architecture Is Abstract Until Operationalized: A Thought Experiment on Software Evolution and Microservices
Alibaba Cloud Developer
Alibaba Cloud Developer
Aug 14, 2019 · Backend Development

Mastering Complex Business Code: Structured Decomposition & Domain Modeling

This article presents a practical methodology for handling complex business scenarios by combining top‑down process decomposition with bottom‑up domain modeling, illustrated through Alibaba's retail‑to‑store product onboarding case, complete with code examples and architectural guidance.

Domain-Driven DesignSoftware Architecturecode decomposition
0 likes · 14 min read
Mastering Complex Business Code: Structured Decomposition & Domain Modeling
Programmer DD
Programmer DD
Aug 10, 2019 · R&D Management

Why Hiring a P8 Full‑Stack Engineer Is a Mistake for Startups

A startup founder hires a high‑paid P8 engineer expecting a full‑stack miracle, only to discover the mismatch between specialist expertise and the broad, unrealistic demands of a full‑stack role, highlighting the pitfalls of hiring for breadth over depth in fast‑growing teams.

Full-StackSoftware Architecturehiring
0 likes · 11 min read
Why Hiring a P8 Full‑Stack Engineer Is a Mistake for Startups
Java Backend Technology
Java Backend Technology
Aug 9, 2019 · Backend Development

10 Common Mistakes in Java Backend Development and How to Avoid Them

This article outlines ten frequent errors that Java backend developers make—from over‑focusing on low‑level details and leaking internal structures to neglecting separation of concerns, proper exception handling, multithreading, validation, XML configuration, profile management, dependency injection, and testing—offering practical guidance to prevent each pitfall.

Best PracticesSoftware ArchitectureSpring
0 likes · 14 min read
10 Common Mistakes in Java Backend Development and How to Avoid Them
Java Backend Technology
Java Backend Technology
Aug 7, 2019 · R&D Management

When Does a Technical Middle Platform Really Add Value? Insights and Pitfalls

This article examines the concept of a technical middle platform, outlining its purpose, the prerequisites for its adoption, the challenges of implementation, and the trade‑offs between over‑engineering and under‑delivering, while sharing real‑world examples of organizational friction and best‑practice recommendations.

Backend DevelopmentR&D ManagementSoftware Architecture
0 likes · 14 min read
When Does a Technical Middle Platform Really Add Value? Insights and Pitfalls
Architecture Digest
Architecture Digest
Aug 5, 2019 · R&D Management

What Is a Software Architect? Roles, Responsibilities, Types, and How to Become One

The article explains what a software architect does, outlines their responsibilities such as architecture design, technology selection, managing non‑functional requirements, solving technical challenges, and guiding teams, describes different types of architects, and offers advice on the skills and experience needed to become one.

Software Architecturearchitect rolecareer development
0 likes · 6 min read
What Is a Software Architect? Roles, Responsibilities, Types, and How to Become One
Programmer DD
Programmer DD
Jul 21, 2019 · Fundamentals

Master the Six Core OOP Principles: A Practical SOLID Guide

This article introduces the six fundamental object‑oriented design principles—SRP, OCP, LSP, DIP, ISP, and LoD—explains their definitions, benefits, and real‑world Java examples, and shows how they together form the SOLID guidelines for clean software architecture.

SOLIDSoftware Architecturedesign principles
0 likes · 13 min read
Master the Six Core OOP Principles: A Practical SOLID Guide
Java Backend Technology
Java Backend Technology
Jul 21, 2019 · Backend Development

30 Essential Architecture Principles Every Backend Engineer Should Follow

This article presents thirty practical architecture principles—from keeping designs simple and avoiding unnecessary features to embracing automated testing, ROI, user‑centric decisions, and distributed system fundamentals—offering a comprehensive guide for backend developers to build scalable, maintainable, and user‑friendly software.

Best PracticesSoftware Architecturebackend design
0 likes · 12 min read
30 Essential Architecture Principles Every Backend Engineer Should Follow
Programmer DD
Programmer DD
Jul 19, 2019 · Fundamentals

Why High‑Quality Code Actually Reduces Costs, Not Increases Them

The article argues that investing in internal software quality—clean architecture, low technical debt, and well‑structured code—lowers long‑term development costs and speeds up feature delivery, contradicting the common belief that higher quality always means higher expense.

Software Architecturecost efficiencyinternal quality
0 likes · 17 min read
Why High‑Quality Code Actually Reduces Costs, Not Increases Them
DevOps
DevOps
Jul 14, 2019 · Cloud Native

Foxconn Cloud Platform and Industrial Internet Practices: Microservices, DevOps, and Cloud‑Native Architecture

The talk outlines Foxconn Cloud’s industrial‑internet practices, explaining why microservices, DevOps and cloud computing dominate industries, detailing unique microservice design versus traditional SOA, and showcasing real‑world cloud‑native architectures and development approaches for manufacturing and IoT applications.

Cloud ComputingIndustrial InternetMicroservices
0 likes · 16 min read
Foxconn Cloud Platform and Industrial Internet Practices: Microservices, DevOps, and Cloud‑Native Architecture
Baidu App Technology
Baidu App Technology
Jul 8, 2019 · R&D Management

Scaling Parallel Development: Baidu App’s Journey to Component‑Based Architecture

Facing massive codebases, hundreds of developers, and rapid release cycles, Baidu App adopted a multi‑stage componentization strategy—spanning compile isolation, library standardization, runtime distribution, service layers, and degradation control—to improve parallel development, reduce complexity, and boost build speed and quality.

Build OptimizationComponentizationSoftware Architecture
0 likes · 18 min read
Scaling Parallel Development: Baidu App’s Journey to Component‑Based Architecture
转转QA
转转QA
Jul 5, 2019 · Backend Development

Designing an Extensible Test System for Microservice Transaction Platforms

The article explains how to evolve a microservice‑based transaction system’s testing framework from a simple all‑in‑one approach to a modular, aspect‑oriented architecture with separate action, assertion, and proxy layers, enabling scalable, reusable, and maintainable test cases across expanding business scenarios.

Software ArchitectureTestingaspect-oriented
0 likes · 8 min read
Designing an Extensible Test System for Microservice Transaction Platforms
Beike Product & Technology
Beike Product & Technology
Jun 28, 2019 · Industry Insights

Beike’s Tech Secrets: Frontend Performance, Node Stability, Mobile Monitoring & Flutter

At the 2019 GMTC Beijing Global Front‑End Conference, Beike engineers shared practical approaches to extreme front‑end performance optimization, Node.js service stability, comprehensive mobile crash and network monitoring, and the challenges and solutions of integrating Flutter into their existing mobile apps.

FlutterNode.jsSoftware Architecture
0 likes · 15 min read
Beike’s Tech Secrets: Frontend Performance, Node Stability, Mobile Monitoring & Flutter
Java Captain
Java Captain
Jun 19, 2019 · Backend Development

Understanding Domain-Driven Design (DDD) and Its Role in Solving CRUD Problems

This article introduces Domain‑Driven Design, explains why traditional MVC‑based CRUD approaches lead to heavy, hard‑to‑maintain services, and shows how DDD concepts such as aggregates, bounded contexts, event sourcing and CQRS can clarify business logic, improve micro‑service boundaries, and reduce system complexity.

CQRSCRUDDDD
0 likes · 29 min read
Understanding Domain-Driven Design (DDD) and Its Role in Solving CRUD Problems
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Jun 18, 2019 · R&D Management

Essential Skills and Responsibilities of a Software Architect

Becoming a software architect requires more than high‑concurrency knowledge; it demands comprehensive abilities such as requirement analysis, system decomposition, technology selection, design, communication, and leadership across all development phases, balancing business understanding with technical expertise to deliver effective architectural solutions.

Software ArchitectureSystem Designcommunication
0 likes · 4 min read
Essential Skills and Responsibilities of a Software Architect
Architects Research Society
Architects Research Society
Jun 11, 2019 · Fundamentals

Key Trends and Insights in Architecture and Design (2019)

The article analyzes current and emerging software architecture trends such as evolutionary architecture, microservices adoption, event sourcing, serverless, and the evolving role of architects, highlighting which concepts are moving toward mainstream adoption and which remain niche.

Event SourcingMicroservicesServerless
0 likes · 18 min read
Key Trends and Insights in Architecture and Design (2019)
Alibaba Cloud Developer
Alibaba Cloud Developer
Jun 6, 2019 · Fundamentals

Why Most Engineers Can't Become Great Architects – Lessons from an Ant Testing Expert

The article explains why pure coding expertise alone doesn’t make a top‑level architect, emphasizing hands‑on experience, forward‑looking design, product awareness, domain modeling, deep technical foundations, and high‑availability practices as essential for evolving robust software systems.

Domain ModelingSoftware ArchitectureSystem Design
0 likes · 8 min read
Why Most Engineers Can't Become Great Architects – Lessons from an Ant Testing Expert
MaoDou Frontend Team
MaoDou Frontend Team
May 21, 2019 · Fundamentals

Mastering the Composite Pattern: Tree Structures and Real‑World Examples

This article explains the Composite design pattern, detailing its definition, benefits, and implementation through JavaScript examples such as a startup command sequence and an employee‑department hierarchy, while highlighting key considerations, common pitfalls, and best practices for effective use.

Software ArchitectureTree Structurecomposite pattern
0 likes · 9 min read
Mastering the Composite Pattern: Tree Structures and Real‑World Examples
21CTO
21CTO
May 20, 2019 · Fundamentals

Why Abstract Thinking Is the Secret Weapon of Great Software Architects

This article explains how abstract, layered, divide‑and‑conquer, and evolutionary thinking form the four essential mental tools that enable software architects to manage complexity, design scalable systems, and continuously evolve architectures in response to changing requirements.

Layered DesignSoftware Architectureabstraction
0 likes · 17 min read
Why Abstract Thinking Is the Secret Weapon of Great Software Architects
ITFLY8 Architecture Home
ITFLY8 Architecture Home
May 18, 2019 · Fundamentals

From Monolith to Microservices: How Software Architecture Evolved

This article traces the evolution of software architecture—from monolithic applications through vertical and SOA designs to modern microservices—detailing each style’s characteristics, advantages, and drawbacks to help developers understand when and why to adopt each approach.

MicroservicesSOASoftware Architecture
0 likes · 6 min read
From Monolith to Microservices: How Software Architecture Evolved
Alibaba Cloud Developer
Alibaba Cloud Developer
May 15, 2019 · R&D Management

How Alibaba Built a 7×24 Hour Continuous Delivery Pipeline: Lessons in R&D Efficiency

This article examines Alibaba’s journey to achieve a 7 × 24 hour continuous delivery channel, detailing how system design, architecture evolution, configuration management, testing automation, and cultural shifts together boost R&D efficiency and enable rapid, reliable code iteration across large-scale teams.

R&D efficiencySoftware ArchitectureTesting automation
0 likes · 10 min read
How Alibaba Built a 7×24 Hour Continuous Delivery Pipeline: Lessons in R&D Efficiency
Alibaba Cloud Developer
Alibaba Cloud Developer
May 14, 2019 · Fundamentals

Why Mastering Architecture Principles Keeps Your Code Future‑Proof

This article distills the core ideas of "Clean Architecture"—explaining software system value, architecture goals, programming paradigms, design principles, component splitting, dependency handling, and boundary management—to help engineers build maintainable, extensible systems that stand the test of time.

Programming ParadigmsSoftware Architecturecomponent decomposition
0 likes · 22 min read
Why Mastering Architecture Principles Keeps Your Code Future‑Proof
Alibaba Cloud Developer
Alibaba Cloud Developer
May 9, 2019 · Backend Development

What Makes a Good API? Principles and Best Practices for Robust Design

This article explores the challenges of API design, outlines fundamental principles such as clear mental models, simplicity, multiple implementations, and idempotency, and provides concrete best‑practice recommendations illustrated with the classic POSIX File API example.

API designBackend DevelopmentSoftware Architecture
0 likes · 22 min read
What Makes a Good API? Principles and Best Practices for Robust Design
Architecture Digest
Architecture Digest
May 8, 2019 · Fundamentals

10 Common Software Architectural Patterns and Their Applications

This article introduces ten widely used software architectural patterns, explains their structure and key characteristics, and lists typical application scenarios for each, helping developers choose appropriate architectures for large‑scale enterprise systems.

Design PatternsMVCSoftware Architecture
0 likes · 9 min read
10 Common Software Architectural Patterns and Their Applications
Architects' Tech Alliance
Architects' Tech Alliance
May 1, 2019 · Industry Insights

Why the Mid‑Platform Will Become the Backbone of the Future Industry Internet

The article analyzes the evolution of technology architecture, explains the origin and purpose of the mid‑platform concept from Alibaba and JD, outlines future software trends such as AI‑driven logic, IoT UI, blockchain data, and quantum infrastructure, and proposes a layered application model for the emerging industry internet.

Artificial IntelligenceCloud ComputingSoftware Architecture
0 likes · 11 min read
Why the Mid‑Platform Will Become the Backbone of the Future Industry Internet
Java Backend Technology
Java Backend Technology
Apr 28, 2019 · Fundamentals

Master 23 Essential Design Patterns Every Java Developer Should Know

This article provides concise explanations, real‑world usage tips, and visual illustrations for 23 classic design patterns—including structural, creational, and behavioral patterns—helping developers understand when and how to apply each pattern in everyday Java projects.

Programming FundamentalsSoftware Architectureobject-oriented
0 likes · 14 min read
Master 23 Essential Design Patterns Every Java Developer Should Know
Youzan Coder
Youzan Coder
Apr 26, 2019 · Backend Development

Design and Architecture of a Prepaid Card Marketing System

The article outlines the design of a prepaid‑card marketing platform that uses configurable rule templates, condition‑behavior chains, and rule orders to manage membership recharge rewards and gift‑card usage limits, providing a generic core engine with adapters for merchants while supporting future migration to payment systems.

Marketing SystemSoftware Architecturebusiness logic
0 likes · 11 min read
Design and Architecture of a Prepaid Card Marketing System
ITFLY8 Architecture Home
ITFLY8 Architecture Home
Apr 13, 2019 · Frontend Development

Simplify Insurance Order Sales with Micro‑Frontends: Reduce Complexity

By applying micro‑frontend principles and DDD‑based microservice design, the article explains how insurance companies can build modular, reusable front‑end components that integrate with backend middle‑platform services, thereby lowering integration complexity, improving scalability, and enabling unified, cross‑product order sales across multiple channels.

DDDFrontend IntegrationInsurance
0 likes · 22 min read
Simplify Insurance Order Sales with Micro‑Frontends: Reduce Complexity
Alibaba Cloud Developer
Alibaba Cloud Developer
Apr 11, 2019 · Fundamentals

Mastering Software Architecture Diagrams: A Practical Guide to Clear, Audience‑Focused Designs

This article explains why clear architecture diagrams are essential for communication, defines key concepts, outlines common pitfalls, introduces the 4+1 and C4 modeling approaches, and provides practical tips for creating self‑describing, audience‑oriented diagrams that align with code.

C4 modelSoftware ArchitectureSystem Design
0 likes · 12 min read
Mastering Software Architecture Diagrams: A Practical Guide to Clear, Audience‑Focused Designs
Java Captain
Java Captain
Apr 9, 2019 · Fundamentals

How to Self‑Learn Software Architecture by Studying Open‑Source Code

The article explains a practical method for gaining software architecture experience by systematically reading the source code of well‑known open‑source projects, combining documentation with hands‑on code exploration to develop intuition and design skills.

Software Architecturecode readinglearning
0 likes · 9 min read
How to Self‑Learn Software Architecture by Studying Open‑Source Code
ITFLY8 Architecture Home
ITFLY8 Architecture Home
Apr 7, 2019 · Backend Development

Master High Cohesion & Low Coupling: Microservice Architecture Patterns and DDD Guide

This article explores how to achieve high cohesion and low coupling in distributed systems by examining clean, hexagonal, and CQRS architectures, detailing domain‑driven design layers, microservice boundary design, splitting principles, and practical strategies for data, caching, and resilience in modern backend development.

MicroservicesSoftware Architecturedistributed systems
0 likes · 40 min read
Master High Cohesion & Low Coupling: Microservice Architecture Patterns and DDD Guide
Didi Tech
Didi Tech
Mar 22, 2019 · Backend Development

Interview with Du Huan (Senior Engineer, Didi R Lab) on Go, Large‑Scale Microservice Framework Design, and Gopher China 2019

In this interview, Didi R Lab senior engineer Du Huan discusses his decade‑long Go experience, the language’s low‑cost entry, system‑level performance and cloud‑native strengths, upcoming enhancements like generics, his large‑scale microservice framework design for Gopher China 2019, and practical advice for developers and enterprises adopting Go.

Career AdviceDidiGopher China
0 likes · 10 min read
Interview with Du Huan (Senior Engineer, Didi R Lab) on Go, Large‑Scale Microservice Framework Design, and Gopher China 2019
Programmer DD
Programmer DD
Mar 6, 2019 · Fundamentals

Clear Software Architecture Diagrams: A Practical Audience‑Focused Guide

This article explains why clear architecture diagrams are essential for communication, outlines common pitfalls, introduces the 4+1 view and C4 modeling approaches, and provides practical advice on creating audience‑centric, self‑describing diagrams that align with code and improve development efficiency.

C4 modelSoftware ArchitectureSystem Design
0 likes · 11 min read
Clear Software Architecture Diagrams: A Practical Audience‑Focused Guide
Programmer DD
Programmer DD
Feb 22, 2019 · Backend Development

Why Event‑Driven and Microkernel Architectures Can Transform Your Backend

This article explains how event‑driven and microkernel architectures provide flexible, decoupled designs for complex backend systems, comparing centralized and decentralized patterns, outlining their structures, advantages, drawbacks, and suitable scenarios, and offering practical guidance for implementation.

Event-Driven ArchitectureSoftware ArchitectureSystem Design
0 likes · 12 min read
Why Event‑Driven and Microkernel Architectures Can Transform Your Backend
Programmer DD
Programmer DD
Feb 19, 2019 · Fundamentals

Why High Cohesion & Low Coupling Are the Secret to Scalable Systems

This article explains the essence of high cohesion and low coupling, why they reduce maintenance cost, and provides practical steps—defining responsibilities, categorizing layers, and setting clear boundaries—to achieve a well‑structured, loosely coupled software system.

High CohesionLow CouplingSoftware Architecture
0 likes · 9 min read
Why High Cohesion & Low Coupling Are the Secret to Scalable Systems
ITPUB
ITPUB
Feb 12, 2019 · Operations

Why Docker Might Be a Dangerous Gamble: Uncovering Its Design Flaws

The article presents a detailed critique of Docker, arguing that despite its marketed benefits of portability, security, and resource management, its design introduces significant complexity, hidden costs, and operational risks that many organizations overlook when adopting it for production workloads.

DockerOperationsSoftware Architecture
0 likes · 29 min read
Why Docker Might Be a Dangerous Gamble: Uncovering Its Design Flaws
vivo Internet Technology
vivo Internet Technology
Feb 1, 2019 · Fundamentals

Object-Oriented Design Principles (SOLID and Package Principles)

The article explains essential object‑oriented design principles—SOLID for class design and six package‑level rules—showing how proper dependency management and modular organization create flexible, reusable, and maintainable software, and why developers must understand these concepts beyond basic procedural programming.

Object-Oriented DesignSOLIDSoftware Architecture
0 likes · 6 min read
Object-Oriented Design Principles (SOLID and Package Principles)
21CTO
21CTO
Jan 24, 2019 · Product Management

How to Choose the Right Tech Stack for Your Web App: 9 Practical Steps

This guide walks founders, CEOs, CTOs and other stakeholders through nine actionable steps—from embracing simplicity and assessing personal needs to evaluating open‑source options, ecosystem support, future outlook, hiring, design flexibility, prototyping, and finally launching—helping them make informed technology‑stack decisions for web applications.

Software ArchitectureWeb Developmentdecision making
0 likes · 11 min read
How to Choose the Right Tech Stack for Your Web App: 9 Practical Steps
Alibaba Cloud Developer
Alibaba Cloud Developer
Jan 24, 2019 · Fundamentals

From Hobbyist to Pro: Master Programming Skills and System Design

Drawing on over a decade of experience from a biology graduate turned Alibaba architect, this article outlines the three stages of programming skill development—basic, intermediate, advanced—and shares practical insights on system design, troubleshooting, and career progression for aspiring professional developers.

Software ArchitectureSystem Designprofessional growth
0 likes · 19 min read
From Hobbyist to Pro: Master Programming Skills and System Design
Tencent Cloud Developer
Tencent Cloud Developer
Jan 23, 2019 · R&D Management

From Engineer to Architect: A Comprehensive Career Growth Roadmap

The article presents a step‑by‑step roadmap guiding software engineers from junior coding roles through senior engineering and technical expertise to junior, mid‑level, and senior architect positions, emphasizing mentorship, systematic study, deep experience, and the three core architect skills—judgment, execution, and innovation—underpinned by the 10,000‑hour practice rule.

Software ArchitectureSystem Designcareer development
0 likes · 16 min read
From Engineer to Architect: A Comprehensive Career Growth Roadmap
Beike Product & Technology
Beike Product & Technology
Jan 17, 2019 · Fundamentals

Understanding the Six SOLID Design Principles: A Practical Guide for iOS Developers

This article explains the six SOLID design principles—Single Responsibility, Liskov Substitution, Dependency Inversion, Interface Segregation, Law of Demeter, and Open‑Closed—using iOS‑oriented examples, code snippets, and practical advice to help developers write cleaner, more maintainable software.

SOLIDSoftware Architecturedesign principles
0 likes · 15 min read
Understanding the Six SOLID Design Principles: A Practical Guide for iOS Developers
Continuous Delivery 2.0
Continuous Delivery 2.0
Jan 15, 2019 · Fundamentals

Software Complexity and Domain‑Driven Design: Isolating Business and Technical Concerns

This article explains how software complexity arises from both business requirements and quality attributes, discusses the challenges of technical and business complexity, and demonstrates how Domain‑Driven Design—through layered and hexagonal architectures, bounded contexts, and micro‑service decomposition—helps isolate concerns and manage complexity in large systems.

Domain-Driven DesignMicroservicesSoftware Architecture
0 likes · 24 min read
Software Complexity and Domain‑Driven Design: Isolating Business and Technical Concerns
ITFLY8 Architecture Home
ITFLY8 Architecture Home
Jan 11, 2019 · Fundamentals

How to Craft an Architecture Vision: From Philosophy to Practical Design

This article explains how to formulate an architecture vision and goals, outlines the hierarchical levels of vision from system-wide to code-level, describes the process of deriving vision from requirements, and details quality attributes and design principles for effective software architecture.

Software ArchitectureSystem Designarchitecture vision
0 likes · 15 min read
How to Craft an Architecture Vision: From Philosophy to Practical Design
ITFLY8 Architecture Home
ITFLY8 Architecture Home
Jan 8, 2019 · Fundamentals

Master the Essential Skills to Become a Great Software Architect

This comprehensive guide outlines the mindset, methodology, general and professional skills, core architectural concepts, design principles, and essential tools needed for anyone aspiring to become a proficient software architect in modern technology environments.

Cloud ComputingDatabasesSoftware Architecture
0 likes · 12 min read
Master the Essential Skills to Become a Great Software Architect
ITFLY8 Architecture Home
ITFLY8 Architecture Home
Jan 7, 2019 · R&D Management

How to Become a Software Architect: Roadmap, Skills, and Career Path

This article outlines the philosophical mindset, career stages, essential knowledge, and practical habits needed to evolve from a junior programmer to a senior architect, offering concrete steps, role responsibilities, and advice on continuous learning and effective time management.

R&D ManagementSoftware Architecturecareer development
0 likes · 23 min read
How to Become a Software Architect: Roadmap, Skills, and Career Path
ITFLY8 Architecture Home
ITFLY8 Architecture Home
Jan 6, 2019 · R&D Management

What Skills Make a Software Architect the Soul of a Company?

A software architect must combine strong technical expertise, deep business understanding, forward‑looking design, broad knowledge, effective communication, and systematic thinking to translate business needs into reliable, scalable systems that drive a company's success.

Software ArchitectureSystem Designcommunication
0 likes · 15 min read
What Skills Make a Software Architect the Soul of a Company?
ITFLY8 Architecture Home
ITFLY8 Architecture Home
Jan 4, 2019 · Fundamentals

What Does a Software Architect Really Do? Roles, Responsibilities, and Career Path

This article explores the definition, duties, and career development of software architects, covering their role in different company stages, system decomposition, technical selection, team collaboration, various architect specializations, essential skills, and practical advice for advancing in the field.

Software ArchitectureSystem Designarchitect role
0 likes · 15 min read
What Does a Software Architect Really Do? Roles, Responsibilities, and Career Path
ITFLY8 Architecture Home
ITFLY8 Architecture Home
Jan 2, 2019 · Fundamentals

Why Domain Modeling Is the Key to Solving Real Business Problems

The article explains how identifying problem spaces and mapping them to solution spaces through domain and domain‑model modeling helps businesses design software systems that directly address core operational challenges, illustrated with HR, expense, e‑commerce, and hotel management examples.

Domain ModelingSoftware ArchitectureSystem Design
0 likes · 14 min read
Why Domain Modeling Is the Key to Solving Real Business Problems
21CTO
21CTO
Dec 31, 2018 · Backend Development

Designing Robust APIs: Principles, Practices, and Real-World Examples

This article explores core API design principles—clear mental models, simplicity, multiple implementations—and offers concrete best‑practice guidance, from documentation and resource modeling to idempotency, compatibility, batch updates, and error handling, illustrated with the classic POSIX File API.

API designSoftware Architecturecompatibility
0 likes · 21 min read
Designing Robust APIs: Principles, Practices, and Real-World Examples
21CTO
21CTO
Dec 15, 2018 · Backend Development

Why Mastering Core Architecture Beats Chasing Every New Framework

The article argues that true developer competence lies in deep architectural and design skills—covering physical storage, caching, data structures, and modular software design—rather than constantly chasing the latest languages or frameworks across backend, frontend, and mobile development.

Backend DevelopmentSoftware Architectureframeworks
0 likes · 12 min read
Why Mastering Core Architecture Beats Chasing Every New Framework
iQIYI Technical Product Team
iQIYI Technical Product Team
Dec 14, 2018 · Backend Development

Introducing Navi: An Open‑Source Component Routing Framework for Scalable Backend Systems

Navi is an open‑source component‑routing framework that separates routing logic from business code using matcher annotations, allowing developers to define reusable handlers for different client types and versions, thereby reducing code complexity, improving extensibility, and simplifying backend services while supporting future extensions and community contributions.

Dependency InjectionSoftware Architecturecomponent routing
0 likes · 10 min read
Introducing Navi: An Open‑Source Component Routing Framework for Scalable Backend Systems
21CTO
21CTO
Dec 13, 2018 · Cloud Native

Why Modern Software Needs Microservices and Cloud‑Native Architecture

This article explains how adopting microservices, appropriate architectural patterns, and DevOps practices—ranging from monolithic to cloud‑native designs—can reduce costs, improve scalability, and support rapid development across web, mobile, and IoT platforms, while highlighting key differences between SOA and microservices.

MicroservicesSOASoftware Architecture
0 likes · 15 min read
Why Modern Software Needs Microservices and Cloud‑Native Architecture
Alibaba Cloud Developer
Alibaba Cloud Developer
Dec 11, 2018 · Fundamentals

Why Traditional Software Design Fails in the Age of Complex Business Platforms

The article explores how rapid business growth and evolving technology have turned software from a deterministic, document‑driven process into a continuously changing infrastructure, urging a shift toward internal determinism, documentation‑as‑code, and object‑oriented business design.

Software Architecturebusiness platformsdesign principles
0 likes · 15 min read
Why Traditional Software Design Fails in the Age of Complex Business Platforms
Programmer DD
Programmer DD
Nov 24, 2018 · Fundamentals

Why OOP Still Rules: Composition, SOLID, and Refactoring Insights

The author reflects on a recent project refactor, emphasizing why object‑oriented programming remains dominant, exploring concepts like control inversion, dependency injection, SOLID principles, composition over inheritance, design patterns, layered architecture, and the balanced relationship between OOP and functional programming.

Design PatternsSOLIDSoftware Architecture
0 likes · 7 min read
Why OOP Still Rules: Composition, SOLID, and Refactoring Insights
Efficient Ops
Efficient Ops
Nov 22, 2018 · Fundamentals

What Makes a Good Software Architecture? Principles, Practices, and Pitfalls

Software architecture defines the overall structure and components of a system, guiding design decisions, balancing performance, scalability, and maintainability, while fostering team alignment through clear standards and abstractions, and the article outlines its purpose, best practices, evaluation criteria, and a path to becoming an architect.

Best PracticesSoftware ArchitectureSystem Design
0 likes · 13 min read
What Makes a Good Software Architecture? Principles, Practices, and Pitfalls
Java Captain
Java Captain
Nov 14, 2018 · Fundamentals

Evolution of Layered Architecture: From Monolithic to Core Layer

This article outlines the progressive evolution of a company's software layering strategy—from an initial monolithic approach through webapp, business, base, and core layers—explaining the motivations, definitions, and practical implementations of each stage.

Layered DesignSoftware Architecturecore services
0 likes · 6 min read
Evolution of Layered Architecture: From Monolithic to Core Layer
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Nov 13, 2018 · Fundamentals

Advancing to Software Architect: Roles, Responsibilities, and Essential Skills

This article explains what a software architect does, outlines their main responsibilities such as requirement analysis, system decomposition, technology selection, and specification writing, and highlights the essential design, technical, and communication skills needed to progress from junior developer to architect.

Software Architecturearchitect rolecommunication
0 likes · 5 min read
Advancing to Software Architect: Roles, Responsibilities, and Essential Skills
DevOps
DevOps
Nov 9, 2018 · Fundamentals

Applying Domain‑Driven Design: Achieving Consensus and Effective Team Collaboration

The article explains how domain‑driven design helps software teams reach a shared understanding of the problem domain by cultivating requirements through visual collaboration, structured inception and iteration activities, and continuous feedback loops, ultimately improving architecture, reducing miscommunication, and delivering higher‑quality software.

Domain-Driven DesignSoftware Architecturerequirements engineering
0 likes · 15 min read
Applying Domain‑Driven Design: Achieving Consensus and Effective Team Collaboration
ITFLY8 Architecture Home
ITFLY8 Architecture Home
Oct 14, 2018 · R&D Management

Why Abstract Thinking Is the Core Skill Every Software Architect Needs

The article explains how abstraction, layered design, divide‑and‑conquer, and evolutionary thinking form the four essential mental tools for architects to manage complexity, illustrating each concept with real‑world examples, diagrams, and practical advice for cultivating these skills.

Layered DesignSoftware Architectureabstraction
0 likes · 14 min read
Why Abstract Thinking Is the Core Skill Every Software Architect Needs
Alibaba Cloud Developer
Alibaba Cloud Developer
Sep 29, 2018 · Cloud Native

How Alibaba’s Open‑Source Journey Shapes the Future of Cloud‑Native Architecture

This article recounts Alibaba middleware leader Bi Xuan’s reflections from the 2018 Hangzhou Cloud Expo, highlighting three key projects—HSF, HBase, and Pouch Container—while exploring the broader impact of open‑source technologies such as Linux, Kubernetes, Dubbo, RocketMQ, and OpenMessaging on modern cloud‑native software development.

AlibabaSoftware Architecturecloud-native
0 likes · 9 min read
How Alibaba’s Open‑Source Journey Shapes the Future of Cloud‑Native Architecture
Programmer DD
Programmer DD
Aug 28, 2018 · Backend Development

From Beginner to Pro: The Ultimate Skill Tree for Java Backend Developers

This comprehensive guide outlines the essential technical and soft‑skill roadmap for programmers, covering computer fundamentals, data structures, Java basics, multithreading, JVM internals, databases, distributed systems, architecture, learning methods, personal branding, English importance, and ways to stay competitive.

Backend DevelopmentDatabasesPerformance
0 likes · 18 min read
From Beginner to Pro: The Ultimate Skill Tree for Java Backend Developers
21CTO
21CTO
Aug 20, 2018 · Fundamentals

Microservices vs SOA: What’s the Real Difference and When to Use Each?

This article clarifies the core distinctions between Service‑Oriented Architecture (SOA) and microservices, covering their origins, communication models, bounded contexts, scalability, and suitable use‑cases, helping developers decide which architectural style best fits their application’s size, complexity, and deployment needs.

Design PatternsSOASoftware Architecture
0 likes · 9 min read
Microservices vs SOA: What’s the Real Difference and When to Use Each?
Architecture Digest
Architecture Digest
Aug 6, 2018 · Fundamentals

Understanding Software Architecture: Definitions, Design Process, Good Practices, and Common Pitfalls

This article explains what software architecture means, outlines how to start designing an architecture that aligns with business needs, describes the key characteristics of a good architecture, highlights common misconceptions, and offers concluding advice for architects seeking practical, business‑driven design guidance.

Best PracticesSoftware ArchitectureSystem Design
0 likes · 8 min read
Understanding Software Architecture: Definitions, Design Process, Good Practices, and Common Pitfalls
ITFLY8 Architecture Home
ITFLY8 Architecture Home
Aug 6, 2018 · Backend Development

Why Simplicity Drives Service‑Oriented Architecture: Lessons from a Four‑Year Refactor

The author reflects on a four‑year journey of refactoring a complex system into a lightweight, service‑oriented architecture, emphasizing how breaking down monolithic deployments, adopting modular services, and enforcing disciplined conventions can restore simplicity, flexibility, and efficiency in backend development.

MicroservicesSoftware Architecturebackend design
0 likes · 12 min read
Why Simplicity Drives Service‑Oriented Architecture: Lessons from a Four‑Year Refactor
360 Zhihui Cloud Developer
360 Zhihui Cloud Developer
Aug 2, 2018 · Operations

How to Build Systems That Run Stably for 10 Years

This article shares practical methodologies for building software systems that remain stable for a decade, covering goal setting, holistic design, operator and data‑center choices, cross‑region active‑active challenges, server and platform selection, comprehensive monitoring, and the importance of continuous personal improvement.

OperationsSoftware Architecturecontinuous improvement
0 likes · 7 min read
How to Build Systems That Run Stably for 10 Years
Architecture Digest
Architecture Digest
Jul 30, 2018 · Fundamentals

Common Software Development Diagrams and Their Practical Uses

The article explains why software architects need to create clear diagrams, describes the problems they solve, lists nine typical diagram types—including use case, robustness, mind map, DFD, flowchart, class, state, E‑R, and sequence diagrams—with their appropriate scenarios, advantages, and drawbacks, and outlines a step‑by‑step workflow for applying them in real projects.

Software ArchitectureUMLdesign fundamentals
0 likes · 10 min read
Common Software Development Diagrams and Their Practical Uses
Architecture Digest
Architecture Digest
Jul 26, 2018 · Fundamentals

Key Qualities and Responsibilities of a Software Architect

The article outlines the essential qualities of a software architect, emphasizing business understanding, abstraction, strong coding ability, comprehensive system thinking, global impact awareness, and balanced decision‑making to ensure robust, scalable, and maintainable system designs.

Software ArchitectureSystem Designarchitect role
0 likes · 9 min read
Key Qualities and Responsibilities of a Software Architect
Architecture Digest
Architecture Digest
Jul 21, 2018 · Fundamentals

Understanding Software Architecture: Definitions, Goals, Best Practices, and the Path to Becoming an Architect

This article explains what software architecture is, why it matters for growing teams, outlines common challenges, presents best‑practice modeling techniques, offers criteria for boundary and middleware decisions, describes characteristics of a good architecture, and outlines how to grow into an architect role.

Best PracticesMiddleware SelectionSoftware Architecture
0 likes · 9 min read
Understanding Software Architecture: Definitions, Goals, Best Practices, and the Path to Becoming an Architect
Architects' Tech Alliance
Architects' Tech Alliance
Jul 15, 2018 · Industry Insights

Why Microservices and Docker Are Replacing Monolithic SOA: An In‑Depth Look

The article traces the evolution from early Service‑Oriented Architecture and monolithic applications to modern microservice architectures, highlighting their limitations, the rise of containers and Docker, and how these technologies enable scalable, language‑agnostic, and cloud‑native deployments for complex systems such as e‑commerce platforms.

DockerMicroservicesSOA
0 likes · 11 min read
Why Microservices and Docker Are Replacing Monolithic SOA: An In‑Depth Look
Architecture Digest
Architecture Digest
Jul 14, 2018 · Fundamentals

The Four Core Thinking Patterns for Software Architecture: Abstraction, Layering, Divide‑and‑Conquer, and Evolution

This article explains how abstraction, layered thinking, divide‑and‑conquer, and evolutionary design serve as the four fundamental mental tools that architects use to manage complexity in software systems, illustrated with everyday analogies, diagrams, and practical interview examples.

Layered DesignSoftware Architectureabstraction
0 likes · 15 min read
The Four Core Thinking Patterns for Software Architecture: Abstraction, Layering, Divide‑and‑Conquer, and Evolution
ITFLY8 Architecture Home
ITFLY8 Architecture Home
Jul 11, 2018 · Fundamentals

Why System Context Is the First Building Block of Software Architecture

Understanding and documenting the system context—its external users, roles, channels, and interacting systems—provides a foundational view that links business context to architecture, guides information flow modeling, and ensures traceability throughout the software development lifecycle.

Information FlowSoftware Architecturebusiness context
0 likes · 12 min read
Why System Context Is the First Building Block of Software Architecture
ITFLY8 Architecture Home
ITFLY8 Architecture Home
Jul 11, 2018 · Fundamentals

Why Documenting Software Architecture Is Crucial for Successful Projects

This article explains the discipline of software architecture, its historical roots, key definitions, the importance of comprehensive documentation, various architectural views, and essential documentation components that help teams communicate designs, educate new members, and maintain system quality over time.

Engineering best practicesSoftware Architecturearchitectural views
0 likes · 19 min read
Why Documenting Software Architecture Is Crucial for Successful Projects
Tencent Cloud Developer
Tencent Cloud Developer
Jul 3, 2018 · Mobile Development

Real-Time Audio/Video in Mini-Program Interactive Education: Challenges and Solutions

Liu Lianxiang explains how mini‑program real‑time audio/video can power interactive education despite challenges like missing cameras, cluttered backgrounds, diverse devices, debugging burdens, integration hurdles, and network latency, offering a cross‑platform SDK with sub‑400 ms latency, noise reduction, and unified WeChat ecosystem support.

Software ArchitectureWebRTCaudio-video
0 likes · 17 min read
Real-Time Audio/Video in Mini-Program Interactive Education: Challenges and Solutions
Architecture Digest
Architecture Digest
Jul 2, 2018 · Backend Development

Reflections on Software Service Architecture: From Three‑Tier to Microservices and High Concurrency

This article shares practical insights on evolving from traditional three‑tier architecture to microservice‑based designs, discusses fine‑grained versus coarse‑grained service partitioning, addresses high‑concurrency challenges, and proposes refactoring strategies for large‑scale backend systems.

High concurrencySoftware ArchitectureThree-tier
0 likes · 7 min read
Reflections on Software Service Architecture: From Three‑Tier to Microservices and High Concurrency
ITFLY8 Architecture Home
ITFLY8 Architecture Home
Jul 1, 2018 · Fundamentals

Why Componentization and Modularity Are Key to Microservice Success

This article explains core microservice concepts—including componentization, modularization, centralized vs. distributed systems, and the architectural principles behind microservices—while comparing them to SOA and highlighting practical distinctions that help developers design loosely‑coupled, reusable services.

ComponentizationMicroservicesSoftware Architecture
0 likes · 8 min read
Why Componentization and Modularity Are Key to Microservice Success
Java Captain
Java Captain
Jul 1, 2018 · Backend Development

My Journey and Lessons Learned on Becoming a Java Architecture Engineer

The article shares the author’s personal learning path toward becoming a Java architect, highlighting early misconceptions, the importance of using existing components, avoiding deep dives into low‑level details, integrating multiple technologies, and focusing on reusability and maintainability through design patterns and high‑concurrency practices.

High concurrencySoftware Architecture
0 likes · 9 min read
My Journey and Lessons Learned on Becoming a Java Architecture Engineer
Architecture Digest
Architecture Digest
Jun 30, 2018 · R&D Management

Understanding Team Roles in Software Architecture: Business, Development, and the Need for a Technical Lead

The article explains how software architecture relies on coordinated roles—business owners, architects, team leads, and developers—highlighting the importance of a dedicated technical lead to bridge business requirements and framework implementation, reduce design friction, and ensure effective communication within the team.

Software ArchitectureTeam rolesbusiness analysis
0 likes · 4 min read
Understanding Team Roles in Software Architecture: Business, Development, and the Need for a Technical Lead
Java Captain
Java Captain
Jun 28, 2018 · Fundamentals

Software Architecture Design: Basic Concepts, Sources of Complexity, Three Principles, and Design Process

This article explains the purpose of software architecture design, identifies sources of complexity such as performance, availability and scalability, outlines three guiding principles—appropriateness, simplicity, and evolution—and presents a practical step‑by‑step design process illustrated with diagrams.

Software Architecturedesign principlesevolution
0 likes · 5 min read
Software Architecture Design: Basic Concepts, Sources of Complexity, Three Principles, and Design Process
Tencent Cloud Developer
Tencent Cloud Developer
Jun 26, 2018 · Backend Development

Why FinTech Companies Should Migrate from Monolithic to Microservices Architecture

FinTech firms should replace monolithic systems with microservices because the modular style delivers greater agility, maintainability, scalability, availability, and code reuse—crucial for rapid market demands and regulatory change—while acknowledging migration costs, monitoring complexity, and the need for phased refactoring of legacy assets.

Code ReuseFinTechMicroservices
0 likes · 13 min read
Why FinTech Companies Should Migrate from Monolithic to Microservices Architecture
Java Backend Technology
Java Backend Technology
Jun 19, 2018 · Fundamentals

Mastering SOLID and OOP Principles: A Practical Guide for Clean Code

This article summarizes the core object‑oriented design principles—including SOLID, the Law of Demeter, and composition/aggregation reuse—explaining their definitions, analyses, advantages, and real‑world examples to help developers write more maintainable and extensible software.

SOLIDSoftware Architectureclean code
0 likes · 19 min read
Mastering SOLID and OOP Principles: A Practical Guide for Clean Code
Meitu Technology
Meitu Technology
Jun 13, 2018 · Cloud Native

Insights on Middleware, Microservices, Service Mesh, and Open‑Source Practices from Ant Financial Engineers

Ant Group engineers Yang Bing and Huang Ting discuss the evolution of their SOFA middleware platform—from early service‑oriented architecture to a full‑stack DevOps ecosystem—highlighting microservice governance, Service Mesh integration with Kubernetes/Istio, open‑source strategies, and the cultural emphasis on reliable, commercially‑savvy engineering talent.

MiddlewareSOFAService Mesh
0 likes · 35 min read
Insights on Middleware, Microservices, Service Mesh, and Open‑Source Practices from Ant Financial Engineers
Architecture Digest
Architecture Digest
Jun 13, 2018 · Fundamentals

Common Misconceptions About Software Architecture, High Concurrency, and Microservices

The article debunks three prevalent misconceptions—treating a development framework as a substitute for an architect, assuming high concurrency and big‑data challenges are inherently difficult, and believing microservice architecture is a universal solution—by emphasizing the importance of proper design, testing, and realistic evaluation of trade‑offs.

Design PatternsHigh concurrencyMicroservices
0 likes · 6 min read
Common Misconceptions About Software Architecture, High Concurrency, and Microservices
Java Backend Technology
Java Backend Technology
Jun 9, 2018 · R&D Management

How to Transition from Senior Developer to Software Architect: Key Steps and Skills

This article explains the common misconceptions about software architects, outlines the essential conditions and skills required for senior developers to upgrade, describes practical learning paths, and details the daily responsibilities and interpersonal abilities needed to succeed as an architect.

Software Architecturecareer developmentdistributed systems
0 likes · 12 min read
How to Transition from Senior Developer to Software Architect: Key Steps and Skills
ITFLY8 Architecture Home
ITFLY8 Architecture Home
Apr 29, 2018 · Fundamentals

Unlocking Code Reuse: Design Patterns, Frameworks, Architecture & Platforms Explained

This article explains how design patterns, frameworks, software architecture, and platforms each contribute to different levels of code reuse—from class-level patterns to system-wide architectures—while also detailing key design principles, framework basics, and Java platform classifications for developers seeking deeper engineering insight.

Code ReuseDesign PatternsSoftware Architecture
0 likes · 13 min read
Unlocking Code Reuse: Design Patterns, Frameworks, Architecture & Platforms Explained