Tagged articles

Software Design

439 articles · Page 2 of 5
Tencent Cloud Developer
Tencent Cloud Developer
Aug 7, 2024 · Fundamentals

Design and Modeling: Essential Practices for Effective Software Development

Before writing code, developers should perform systematic design and modeling—including business modeling, process analysis, and system modeling—followed by class analysis and state‑machine design, to align software with business goals, reduce changing requirements, improve quality, and keep teams motivated.

Software DesignSoftware Engineeringsystem architecture
0 likes · 10 min read
Design and Modeling: Essential Practices for Effective Software Development
Top Architect
Top Architect
Jul 15, 2024 · Fundamentals

Clean Code Practices: Naming, Classes, Functions, and Testing

This article explains why maintaining clean, well‑structured code is essential for productivity and team collaboration, covering naming conventions, class design principles, function responsibilities, testing strategies, and tools like SonarLint, while providing concrete Java code examples for each concept.

Software Designclean codenaming conventions
0 likes · 16 min read
Clean Code Practices: Naming, Classes, Functions, and Testing
macrozheng
macrozheng
Jun 29, 2024 · Fundamentals

Master Clean Code: Proven Naming Conventions Every Developer Should Follow

This article explains why clean, well‑named code is essential for productivity, outlines practical naming rules—such as avoiding ambiguity, preventing misleading names, making meaningful distinctions, and keeping identifiers searchable—and provides concrete Java examples and patterns to help developers write maintainable, testable software.

Software Designclean codecode readability
0 likes · 18 min read
Master Clean Code: Proven Naming Conventions Every Developer Should Follow
DevOps
DevOps
Jun 17, 2024 · Product Management

Understanding Software Requirement Changes and the Software Value Model

The article examines why software requirements frequently change, introduces a four‑layer software value model—from business value to UI aesthetics—and explains how this model guides product managers and engineers in handling requirement volatility, balancing flexibility, and maintaining architectural integrity.

Business ValueSoftware Designproduct management
0 likes · 8 min read
Understanding Software Requirement Changes and the Software Value Model
Go Programming World
Go Programming World
May 30, 2024 · Backend Development

Standardizing RESTful API Error Handling with Business Error Codes and an Error Package in Go

This article explains how to design a unified business error‑code system for RESTful APIs, demonstrates the structure and format of such codes, provides a Go implementation with structs, interfaces and formatting methods, and shows practical usage in a Gin web server including logging and notification strategies.

GinGoRESTful API
0 likes · 22 min read
Standardizing RESTful API Error Handling with Business Error Codes and an Error Package in Go
Ops Development & AI Practice
Ops Development & AI Practice
May 27, 2024 · Fundamentals

Why Structured Programming Alone Falls Short and How OOP & FP Fill the Gaps

The article examines the drawbacks of relying solely on structured programming—such as tight module coupling, poor change isolation, and rigidity—and shows how integrating object‑oriented and functional programming can improve modularity, flexibility, and maintainability in complex software systems.

Functional ProgrammingProgramming ParadigmsSoftware Design
0 likes · 5 min read
Why Structured Programming Alone Falls Short and How OOP & FP Fill the Gaps
Dangbei Technology Team
Dangbei Technology Team
May 27, 2024 · Backend Development

How COLA Architecture Transforms Complex Backend Systems

The COLA (Clean Object‑Oriented and Layered Architecture) framework replaces traditional monolithic MVC Service layers with a clear, multi‑layered structure—Adapter, Application, Domain, Infrastructure, and Client—enhancing code cohesion, reducing coupling, and improving maintainability, as illustrated through a detailed order‑creation example with refactored Java code.

COLA ArchitectureMicroservicesSoftware Design
0 likes · 11 min read
How COLA Architecture Transforms Complex Backend Systems
Architecture Breakthrough
Architecture Breakthrough
May 27, 2024 · Fundamentals

Mastering Problem Analysis: A Six‑Step Framework for Clear Requirements

This article presents a practical six‑step framework that guides teams from clarifying business goals and core concepts to objectively breaking down issues, restructuring existing designs, proposing solutions, and finalizing implementation plans, helping avoid wasted effort on ill‑defined problems.

Software Designobject-oriented analysisproblem analysis
0 likes · 8 min read
Mastering Problem Analysis: A Six‑Step Framework for Clear Requirements
Su San Talks Tech
Su San Talks Tech
May 27, 2024 · Fundamentals

Master PlantUML: From Quick Start to Advanced Sequence Diagram Techniques

This article introduces PlantUML, explains its core features, walks through quick installation and plugin setup, demonstrates basic and advanced sequence diagram syntax with code examples, and provides a complete login flow illustration, helping developers create clear, version‑controlled diagrams efficiently.

PlantUMLSequence DiagramSoftware Design
0 likes · 13 min read
Master PlantUML: From Quick Start to Advanced Sequence Diagram Techniques
21CTO
21CTO
May 19, 2024 · Fundamentals

Mastering Software Abstraction: How to Design Clear, Maintainable Systems

This article explores the power of abstraction in software design, explaining its hierarchical levels, the role of interfaces, and practical questions to ask when modeling real‑world problems, guiding developers to create more maintainable, scalable, and communicative systems.

SOLIDSoftware Designabstraction
0 likes · 7 min read
Mastering Software Abstraction: How to Design Clear, Maintainable Systems
Java Architect Essentials
Java Architect Essentials
May 14, 2024 · Fundamentals

Master Clean Code: Naming, Classes, Functions, and Testing Made Simple

This article explains why clean code is essential for productivity and project health, and provides practical guidance on naming, class design, function design, and testing—including SOLID principles, parameter handling, exception use, and test‑driven development—to help developers write maintainable, high‑quality software.

SOLIDSoftware Designclean code
0 likes · 17 min read
Master Clean Code: Naming, Classes, Functions, and Testing Made Simple
Architecture Digest
Architecture Digest
May 9, 2024 · Fundamentals

Clean Code Practices: Naming, Classes, Functions, and Testing

This article explains why clean code matters for productivity and project health, and provides practical guidelines on naming, class design, function design, SOLID principles, testing strategies, and tooling to help developers write maintainable, readable software.

SOLIDSoftware Designclean code
0 likes · 13 min read
Clean Code Practices: Naming, Classes, Functions, and Testing
Top Architect
Top Architect
May 7, 2024 · Fundamentals

Clean Code Principles: Naming, Classes, Functions, and Testing Practices

This article explains why clean code is essential for productivity and project health, covering naming conventions, class design, SOLID principles, function design, parameter handling, testing strategies like TDD and the FIRST principles, and tools such as SonarLint to maintain code quality.

Software Designclean codenaming conventions
0 likes · 18 min read
Clean Code Principles: Naming, Classes, Functions, and Testing Practices
Sanyou's Java Diary
Sanyou's Java Diary
Apr 30, 2024 · Fundamentals

Mastering Architecture Diagrams: When, Why, and How to Build Clear System Blueprints

This comprehensive guide explains the purpose of architecture diagrams, the criteria for good diagrams, the optimal moments to create them, and detailed methods for drawing business, application, technical, code, and data architecture diagrams, complete with design principles, classification, and practical tips.

Code ArchitectureData ModelingSoftware Design
0 likes · 21 min read
Mastering Architecture Diagrams: When, Why, and How to Build Clear System Blueprints
php Courses
php Courses
Apr 15, 2024 · Fundamentals

Understanding Abstraction in Object-Oriented PHP Programming

This article explains the core concept of abstraction in software engineering, illustrating how using interfaces and abstract methods in PHP can simplify code, improve maintainability, and reduce developer focus on low‑level details, demonstrated through concrete Shape examples for rectangles, circles, and triangles.

PHPSoftware Designabstraction
0 likes · 5 min read
Understanding Abstraction in Object-Oriented PHP Programming
macrozheng
macrozheng
Apr 9, 2024 · Fundamentals

Mastering UML: 7 Essential Diagrams for Every Software Design Phase

This guide explains the seven core UML diagrams—class, sequence, component, deployment, use‑case, state, and activity—detailing when and how to use each across requirement analysis, architecture design, and detailed design to produce clear, actionable software design documentation.

Class DiagramModelingSoftware Design
0 likes · 13 min read
Mastering UML: 7 Essential Diagrams for Every Software Design Phase
Java Architect Essentials
Java Architect Essentials
Mar 27, 2024 · Cloud Native

Rethinking Microservices: Why Google, Amazon and Others Are Moving Away from Traditional Microservice Architectures

In 2023, major tech companies such as Google and Amazon publicly questioned the benefits of traditional microservice architectures, presenting new "microservice 2.0" concepts, monolithic alternatives, and cost‑performance analyses that highlight a broader industry shift toward more pragmatic, cloud‑native design approaches.

Software Designarchitecturecloud-native
0 likes · 12 min read
Rethinking Microservices: Why Google, Amazon and Others Are Moving Away from Traditional Microservice Architectures
Java Backend Technology
Java Backend Technology
Mar 25, 2024 · Fundamentals

5 Powerful Alternatives to If‑Else for Cleaner, Maintainable Code

This article explains why traditional if‑else statements often lead to complex, hard‑to‑read code and presents five practical techniques—including removing unnecessary else blocks, using fast returns, guard clauses, dictionary lookups, and the strategy pattern—to refactor and eliminate if‑else structures for more robust software design.

Code RefactoringSoftware DesignStrategy Pattern
0 likes · 8 min read
5 Powerful Alternatives to If‑Else for Cleaner, Maintainable Code
Architect
Architect
Mar 22, 2024 · Fundamentals

Why Every Engineer Needs a Good Architecture Diagram: Purpose, Types, and How to Create One

This guide explains the purpose of architecture diagrams, defines what makes a diagram effective, outlines when to draw them, classifies the various diagram types (business, application, technical, code, data), and provides step‑by‑step design principles, visual guidelines, and real‑world examples to help engineers communicate complex systems clearly.

Architecture DiagramSoftware Designsystem architecture
0 likes · 25 min read
Why Every Engineer Needs a Good Architecture Diagram: Purpose, Types, and How to Create One
Tencent Cloud Developer
Tencent Cloud Developer
Mar 20, 2024 · Fundamentals

How to Draw Effective Architecture Diagrams: A Comprehensive Guide

This guide explains how to create clear, visually appealing architecture diagrams—covering purpose, audience, design principles, timing, classification, and step‑by‑step drawing techniques—so teams can communicate structure, workflows, and data effectively across business, product, application, technical, and code domains.

Software DesignUML diagramsarchitecture diagrams
0 likes · 20 min read
How to Draw Effective Architecture Diagrams: A Comprehensive Guide
Efficient Ops
Efficient Ops
Feb 27, 2024 · Artificial Intelligence

Can Large Language Models Truly Elevate Software Engineering? Insights and Roadmap

This article reviews the 2023 surge of large language models in software engineering, evaluates their current code generation, testing, and knowledge‑query capabilities, highlights persistent challenges in design and maintenance, and proposes concrete recommendations for advancing toward higher‑level intelligent development.

Large Language ModelsSoftware DesignSoftware Engineering
0 likes · 21 min read
Can Large Language Models Truly Elevate Software Engineering? Insights and Roadmap
Architects Research Society
Architects Research Society
Feb 14, 2024 · Fundamentals

Overview of Modern Application Architecture Trends and Principles

The article outlines emerging forces such as cloud, mobile, social, and big data that drive modern application architecture, advocates moving beyond traditional three‑tier designs, and recommends adopting service‑oriented, microservice, event‑driven, and open‑standard approaches while considering paradigms, models, and organizational structures.

Cloud ComputingMicroservicesSOA
0 likes · 11 min read
Overview of Modern Application Architecture Trends and Principles
Top Architect
Top Architect
Jan 10, 2024 · Fundamentals

PlantUML Tutorial: Installation, Usage, Diagram Types, and Practical Example

This article introduces PlantUML, explains how to install its plugins for IDEs, demonstrates various diagram types such as activity, class, component, and sequence, and provides a practical code example for modeling authentication flows, making it a comprehensive guide for creating UML diagrams efficiently.

PlantUMLSoftware DesignTutorial
0 likes · 8 min read
PlantUML Tutorial: Installation, Usage, Diagram Types, and Practical Example
Liangxu Linux
Liangxu Linux
Dec 27, 2023 · Fundamentals

Why Callbacks Are Just Function Variables: A Simple C Example

This article explains that callbacks are essentially function variables, illustrating the concept with plain C code examples, comparing direct function calls to passing functions as parameters, and showing how this approach avoids massive if‑else chains while keeping the logic clear and reusable.

C programmingSoftware Designcallbacks
0 likes · 3 min read
Why Callbacks Are Just Function Variables: A Simple C Example
Cognitive Technology Team
Cognitive Technology Team
Dec 23, 2023 · Fundamentals

Tactical vs Strategic Programming: Understanding System Complexity and Design Principles

The article explains how tactical programming—prioritizing rapid feature delivery by piling code—creates system complexity through change amplification, cognitive load, and unknown unknowns, and advocates strategic programming that invests in design, reduces dependencies and ambiguity, and builds sustainable software architecture.

Software Designcode qualitystrategic programming
0 likes · 8 min read
Tactical vs Strategic Programming: Understanding System Complexity and Design Principles
DaTaobao Tech
DaTaobao Tech
Dec 13, 2023 · Backend Development

Understanding VSEF Architecture: Core Structure, Evolution, and Component Selection

The article explains VSEF’s three‑layer architecture—entry, kernel, and dependencies—detailing how evolutionary themes, component selection, and design patterns such as Template Method and Strategy enable a stable core while allowing flexible, domain‑specific extensions through both market and self‑built modules.

Software Designarchitecturecomponents
0 likes · 16 min read
Understanding VSEF Architecture: Core Structure, Evolution, and Component Selection
Top Architecture Tech Stack
Top Architecture Tech Stack
Nov 23, 2023 · Backend Development

Understanding DDD Layered Architecture and Its Role in Microservice Design

The article explains clean, hexagonal, and DDD layered architectures, detailing each layer’s responsibilities, principles, and evolution, and shows how DDD layering enhances microservice design, promotes strict separation, supports architectural evolution, and guides the transition from traditional three‑tier systems to modern domain‑driven microservices.

Clean ArchitectureDDDSoftware Design
0 likes · 21 min read
Understanding DDD Layered Architecture and Its Role in Microservice Design
DevOps
DevOps
Nov 5, 2023 · Fundamentals

Software Design Principles and Architectural Best Practices

This article discusses essential software design principles such as SOLID, DRY, dependency inversion, composition over inheritance, error handling, and the importance of clear documentation, illustrating them with Go code examples and practical guidelines for building maintainable, adaptable systems.

SOLIDSoftware Designarchitecture
0 likes · 45 min read
Software Design Principles and Architectural Best Practices
Senior Brother's Insights
Senior Brother's Insights
Nov 2, 2023 · Backend Development

Master Go Interfaces: 14 Best Practices for Cleaner, More Maintainable Code

This article presents fourteen practical guidelines for designing Go interfaces, covering small interfaces, avoiding type switches, using interfaces for mocking, composition, proper abstraction levels, avoiding empty interfaces, cautious type assertions, full implementation, behavior declaration, and other pitfalls to write robust backend code.

Software Designinterfaces
0 likes · 5 min read
Master Go Interfaces: 14 Best Practices for Cleaner, More Maintainable Code
MaGe Linux Operations
MaGe Linux Operations
Oct 29, 2023 · Backend Development

Microservices vs Event-Driven Architecture: Key Differences Explained

Explore the essential distinctions between microservices and event‑driven architecture, covering service granularity, data handling, bounded contexts, and practical use‑case scenarios, to help architects and developers choose the right approach for scalable, responsive software systems.

MicroservicesSoftware Designevent-driven-architecture
0 likes · 8 min read
Microservices vs Event-Driven Architecture: Key Differences Explained
Java Backend Technology
Java Backend Technology
Oct 20, 2023 · Fundamentals

5 Better Alternatives to If‑Else for Cleaner, More Maintainable Code

This article explores five practical techniques to replace traditional if‑else statements—removing unnecessary else blocks, using value assignment, applying guard clauses, leveraging dictionaries, and employing strategy patterns—demonstrating how each approach improves readability, maintainability, and adheres to solid design principles.

Code RefactoringSoftware DesignStrategy Pattern
0 likes · 8 min read
5 Better Alternatives to If‑Else for Cleaner, More Maintainable Code
Tencent Cloud Developer
Tencent Cloud Developer
Oct 11, 2023 · Frontend Development

Clean Architecture in Front-End Development: Principles, Practices, and Comparative Analysis

The article explains why solid software architecture matters, introduces Robert C. Martin’s Clean Architecture and its framework‑, UI‑, database‑, and service‑independent principles, compares it with Hexagonal and DDD layered styles, details strategic and tactical phases for front‑end MVVM projects, provides layered code samples, and weighs its benefits against the initial overhead, urging teams to choose the approach that fits their project’s complexity and lifespan.

Clean ArchitectureDomain-Driven DesignSoftware Design
0 likes · 21 min read
Clean Architecture in Front-End Development: Principles, Practices, and Comparative Analysis
Architect
Architect
Oct 5, 2023 · Fundamentals

Mastering Clean Code: Naming, Classes, Functions, and Tests Explained

This article explains why clean code matters, demonstrates how meaningful naming, single‑responsibility classes, well‑structured functions, and disciplined testing (TDD and the FIRST principles) improve readability, maintainability, and productivity, using concrete Java examples, refactorings, and step‑by‑step guidelines.

Single ResponsibilitySoftware DesignTDD
0 likes · 17 min read
Mastering Clean Code: Naming, Classes, Functions, and Tests Explained
Java High-Performance Architecture
Java High-Performance Architecture
Oct 1, 2023 · Fundamentals

Why Clean Code Matters: Practical Tips to Write Maintainable Java

This article summarizes key lessons from 'Clean Code', explaining why maintaining clean, readable Java code boosts productivity, reduces bugs and costs, and detailing practical guidelines for naming, class design, functions, testing, and refactoring to help developers write high‑quality, maintainable software.

Software Designclean codecoding standards
0 likes · 15 min read
Why Clean Code Matters: Practical Tips to Write Maintainable Java
Architecture Digest
Architecture Digest
Sep 28, 2023 · Fundamentals

How to Write Clean and Maintainable Code: Naming, Classes, Functions, and Testing

This article explains why clean code is essential for productivity and team collaboration, and provides practical guidelines on naming, class design, function design, and testing—including principles like single responsibility, SOLID, meaningful naming, minimal parameters, and test‑driven development—to help developers produce readable, extensible, and reliable software.

SOLIDSoftware Designclean code
0 likes · 14 min read
How to Write Clean and Maintainable Code: Naming, Classes, Functions, and Testing
Java Architect Essentials
Java Architect Essentials
Sep 27, 2023 · Fundamentals

How to Write Clean Code: Naming, Classes, Functions, and Testing Best Practices

This article explains why clean code is essential for productivity and business health, and provides practical guidelines on naming, class design, function design, and testing—including code examples, refactoring techniques, and quality‑checking tools—to help developers produce readable, maintainable, and extensible software.

Software DesignTDDclean code
0 likes · 14 min read
How to Write Clean Code: Naming, Classes, Functions, and Testing Best Practices
Alibaba Cloud Developer
Alibaba Cloud Developer
Sep 1, 2023 · Fundamentals

Mastering Software Analysis & Design: Logic, Methods, and Real‑World Cases

This article explains the logical framework of software analysis and design, outlines practical methods and principles, introduces essential UML tools, and demonstrates the concepts with two concrete case studies—a logging framework and a task‑scheduling framework—providing a complete guide for developers.

Design PrinciplesSoftware DesignUML
0 likes · 20 min read
Mastering Software Analysis & Design: Logic, Methods, and Real‑World Cases
AI Skills Research
AI Skills Research
Aug 28, 2023 · Fundamentals

Mastering Software Design Principles: SOLID, DRY, KISS, and More

The article explains why maintainable, human‑readable code matters for evolving software, outlines core concepts like high cohesion and low coupling, details the SOLID and other practical principles, and describes common refactoring techniques to improve readability and flexibility.

DRYKISSSOLID
0 likes · 6 min read
Mastering Software Design Principles: SOLID, DRY, KISS, and More
Alibaba Cloud Developer
Alibaba Cloud Developer
Aug 24, 2023 · Fundamentals

Mastering Domain Modeling: A Practical Guide to Building Robust Business Models

This article explains how software engineers can systematically abstract real‑world problems into domain models, walk through four essential modeling steps, illustrate the process with multiple real‑world cases, and discuss advanced techniques such as event storming, four‑color modeling, and bounded‑context pen‑paper methods to create stable, extensible software designs.

Business AnalysisDDDDomain modeling
0 likes · 20 min read
Mastering Domain Modeling: A Practical Guide to Building Robust Business Models
MoonWebTeam
MoonWebTeam
Aug 23, 2023 · Frontend Development

Unlocking Flexibility: How Microkernel Architecture Powers Modern Front‑End Plugin Systems

This article explains the principles, advantages, and classifications of microkernel (plugin) architecture, demonstrates three common plugin patterns—pipeline, onion, and event‑driven—with real‑world examples such as VS Code, Gulp, and webpack, and shares practical implementation steps and best practices for applying microkernel design in front‑end projects.

Plugin architectureSoftware Designcode modularity
0 likes · 32 min read
Unlocking Flexibility: How Microkernel Architecture Powers Modern Front‑End Plugin Systems
Goodme Frontend Team
Goodme Frontend Team
Jul 17, 2023 · Frontend Development

Mastering Clean Architecture for Frontend: A Practical Guide with React & TypeScript

This article explains clean architecture concepts—domain, use case, and application layers—and demonstrates how to apply them in a frontend React/TypeScript project, covering design principles, layer responsibilities, dependency rules, advantages, costs, and concrete code examples for a cookie‑shop example.

Clean ArchitectureDomain-Driven DesignFrontend
0 likes · 40 min read
Mastering Clean Architecture for Frontend: A Practical Guide with React & TypeScript
Test Development Learning Exchange
Test Development Learning Exchange
Jul 7, 2023 · Fundamentals

Understanding the Command Pattern with Python Examples

The article introduces the Command design pattern, explains its key roles such as Command, ConcreteCommand, Receiver, Invoker, and Client, outlines its advantages, and provides multiple Python code examples demonstrating light control, undo operations, file handling, shopping cart management, and menu actions.

Command PatternDesign PatternsObject-Oriented
0 likes · 10 min read
Understanding the Command Pattern with Python Examples
Bilibili Tech
Bilibili Tech
Jul 7, 2023 · Backend Development

Applying DDD and Hexagonal Architecture to Build a Unified Danmaku Platform

The article explains how Bilibili’s senior engineer uses Domain‑Driven Design combined with hexagonal architecture to merge separate VOD and live‑stream Danmaku services into a unified platform, detailing sub‑domain decomposition, six‑sided ports, rich models, mapping logic, and the trade‑offs of improved modularity, maintainability, and reduced duplication versus added design and refactoring effort.

DDDDomain modelingGo
0 likes · 21 min read
Applying DDD and Hexagonal Architecture to Build a Unified Danmaku Platform
Architect's Guide
Architect's Guide
Jul 7, 2023 · Artificial Intelligence

Evaluating GPT‑4’s Ability to Design and Implement a Distributed Cache System for Uber

An in‑depth case study shows how GPT‑4, demonstrated by former Google engineer Naman Bhalla, tackles a simulated Uber interview by generating software requirements, design specifications, Java code snippets, and JUnit tests for a distributed cache system, revealing both its strengths and current limitations.

AI codingGPT-4Software Design
0 likes · 11 min read
Evaluating GPT‑4’s Ability to Design and Implement a Distributed Cache System for Uber
Alibaba Cloud Developer
Alibaba Cloud Developer
Jul 6, 2023 · Fundamentals

Mastering Software Complexity: Design Principles and Real-World Patterns

This article explores why software complexity is inherent, examines cognitive challenges, and presents practical design principles—such as responsibility separation, layered abstraction, and change extensibility—illustrated with real-world examples from Spring MVC, MyBatis, and other frameworks, offering actionable insights for building maintainable systems.

ComplexitySoftware Designarchitecture
0 likes · 19 min read
Mastering Software Complexity: Design Principles and Real-World Patterns
Alibaba Cloud Developer
Alibaba Cloud Developer
Jul 3, 2023 · Fundamentals

Mastering Code Refactoring: Practical Techniques and Real-World Examples

This article explains the definition, goals, and common techniques of code refactoring, illustrated with clear before‑and‑after Java examples such as method extraction, variable extraction, conditional simplification, and abstract‑class extraction, and concludes with a brief Q&A on best practices.

Abstract ClassSoftware Designconditional refactoring
0 likes · 17 min read
Mastering Code Refactoring: Practical Techniques and Real-World Examples
JD Tech
JD Tech
Jun 29, 2023 · Backend Development

Deriving a DDD Application Architecture from a Three‑Layer Structure and Implementing It as a Maven Archetype

This article starts from a conventional three‑layer architecture, refines it into a domain‑driven design (DDD) application structure, demonstrates the evolution through five concrete steps, and shows how to package the final architecture as a reusable Maven Archetype with detailed installation and usage instructions.

ArchetypeDDDDomain-Driven Design
0 likes · 17 min read
Deriving a DDD Application Architecture from a Three‑Layer Structure and Implementing It as a Maven Archetype
dbaplus Community
dbaplus Community
May 31, 2023 · Fundamentals

Why Architecture Design Matters: Tackling System Complexity with Microservices & DDD

The article explains that architecture design exists to manage software system complexity, outlines common misconceptions, describes the six sources of complexity and their generic solutions, examines performance, availability, scalability, cost, security and scale concerns, and shows how microservices and Domain‑Driven Design can address these challenges.

ComplexityDDDMicroservices
0 likes · 26 min read
Why Architecture Design Matters: Tackling System Complexity with Microservices & DDD
Open Source Linux
Open Source Linux
May 26, 2023 · Fundamentals

Top Free Diagramming Tools Every Engineer Should Know

This article introduces several free, easy‑to‑use diagramming tools—including Excalidraw, Zen Flowchart, Visual Paradigm Online, draw.io, Liuchengtu, and ProcessOn—highlighting their key features, collaboration capabilities, and where to access them.

Software Designdiagrammingfree tools
0 likes · 8 min read
Top Free Diagramming Tools Every Engineer Should Know
Top Architect
Top Architect
May 17, 2023 · Fundamentals

How to Draw Effective Architecture Diagrams

This article explains how to create clear and effective software architecture diagrams by defining architecture concepts, describing various diagram types such as business, application, technical and data architectures, introducing the 4+1 and C4 view models, and offering practical tips on audience targeting, visual elements, and consistency with code.

4+1 viewC4 modelSoftware Design
0 likes · 9 min read
How to Draw Effective Architecture Diagrams
Alibaba Cloud Developer
Alibaba Cloud Developer
May 8, 2023 · Fundamentals

Transform Spaghetti Code into Clean Architecture with 3 Powerful Patterns

This article redefines what constitutes good code by using a star‑chart analogy, exposing typical spaghetti‑code pitfalls, and introducing three design patterns—Value Object, Side‑Effect‑Free Function, and Intention‑Revealing Interface—to help developers refactor and write maintainable software.

Software DesignValue Objectcode quality
0 likes · 13 min read
Transform Spaghetti Code into Clean Architecture with 3 Powerful Patterns
Java Backend Technology
Java Backend Technology
May 4, 2023 · Fundamentals

Master Java Class Naming: 10 Common Patterns for Clean, Professional Code

This article explores the most frequent Java class‑naming conventions—covering management, propagation, callbacks, monitoring, memory management, filtering, structural, design‑pattern, parsing, network, and other utility categories—providing clear examples for each to help developers write cleaner, more expressive code.

Software Designclass namingcoding conventions
0 likes · 17 min read
Master Java Class Naming: 10 Common Patterns for Clean, Professional Code
Alibaba Cloud Developer
Alibaba Cloud Developer
Apr 11, 2023 · Fundamentals

Why Software Gets Complex and How to Measure & Tame It

This article examines the root causes of software complexity, explains how to quantify it using metrics such as Halstead, cyclomatic and Ousterhout complexity, showcases real code examples, and offers practical strategies—including high cohesion, low coupling, strategic design, documentation, and refactoring—to prevent and reduce complexity in large systems.

HalsteadSoftware Designcode metrics
0 likes · 22 min read
Why Software Gets Complex and How to Measure & Tame It
Architects' Tech Alliance
Architects' Tech Alliance
Apr 2, 2023 · Fundamentals

General Software Architecture Overview and Implementation

This article presents a comprehensive overview of a flexible, layered software architecture—covering gateway, business, and foundation layers—explaining how to evolve from simple startup setups to adaptable structures that support HTTP/TCP handling, service design, component abstraction, and common technical components.

Business LayerGatewaySoftware Design
0 likes · 12 min read
General Software Architecture Overview and Implementation
Architecture Breakthrough
Architecture Breakthrough
Mar 27, 2023 · R&D Management

How Extension Points Empower Scalable Platform Architecture

This article analyzes the concept of extension points, explains why traditional if‑else or naive strategy patterns break the Open‑Closed Principle, and demonstrates how plugin‑based micro‑kernel architectures, adapter patterns, and nature‑based modeling (as in Eclipse) enable flexible, self‑service platform development while reducing code coupling and maintenance overhead.

EclipsePlatform engineeringPlugin architecture
0 likes · 19 min read
How Extension Points Empower Scalable Platform Architecture
Top Architect
Top Architect
Mar 1, 2023 · Fundamentals

Clean Code Practices: Naming, Classes, Functions, and Testing Guidelines

This article explains why clean code is essential for productivity, outlines naming conventions, class design, SOLID principles, function responsibilities, parameter handling, and testing practices such as TDD and the FIRST principles, providing concrete examples and refactoring snippets to help developers write maintainable, high‑quality software.

Software Designclean codetesting
0 likes · 15 min read
Clean Code Practices: Naming, Classes, Functions, and Testing Guidelines
DataFunSummit
DataFunSummit
Feb 26, 2023 · Backend Development

Common Code Smells and Optimization Practices in Backend Development

This article examines typical code quality issues such as meaningless naming, overly long methods, inefficient batch operations, improper dependency handling, excessive parameters, duplicated logic, and offers concrete refactoring examples and best‑practice guidelines to improve maintainability and performance of backend Java code.

Software Designbest practicescode quality
0 likes · 14 min read
Common Code Smells and Optimization Practices in Backend Development
macrozheng
macrozheng
Feb 23, 2023 · Fundamentals

Master Java Class Naming: 10 Proven Patterns for Clean Code

This article explores common Java class naming conventions across ten categories—management, propagation, callbacks, monitoring, memory, filtering, structure, design patterns, parsing, and networking—providing clear examples and best‑practice tips to make your code more readable and professional.

Software Designbackendclass naming
0 likes · 18 min read
Master Java Class Naming: 10 Proven Patterns for Clean Code
21CTO
21CTO
Feb 18, 2023 · Backend Development

Can Modular Monoliths Outperform Microservices? Exploring Spring Modulith

This article examines how modern modular monoliths, especially Spring Modulith, can provide scalable, low‑overhead alternatives to microservices by isolating modules, reducing remote calls, and simplifying deployment while addressing common concerns about complexity and performance.

Backend ArchitectureSoftware DesignSpring Modulith
0 likes · 13 min read
Can Modular Monoliths Outperform Microservices? Exploring Spring Modulith
Java Architect Essentials
Java Architect Essentials
Feb 15, 2023 · Industry Insights

How Sustainable Architecture Can Transform Software Delivery in the Agile Era

The article explains the emerging concept of sustainable (continuous) software architecture, outlines six practical principles for designing architectures with product thinking, quality‑attribute focus, just‑in‑time decisions, modularity, and operational considerations, compares it with traditional methods, and illustrates its role in agile and DevOps environments.

Continuous ArchitectureDevOpsSoftware Design
0 likes · 8 min read
How Sustainable Architecture Can Transform Software Delivery in the Agile Era
Top Architect
Top Architect
Feb 8, 2023 · Fundamentals

Clean Code Practices: Naming, Classes, Functions, and Testing Guidelines

This article explains why clean code matters and provides practical guidelines on naming, class design, function decomposition, SOLID principles, testing strategies such as TDD and FIRST, as well as tooling like SonarLint to improve code quality and maintainability.

SOLID principlesSoftware Designclean code
0 likes · 18 min read
Clean Code Practices: Naming, Classes, Functions, and Testing Guidelines
JavaEdge
JavaEdge
Feb 7, 2023 · Fundamentals

How to Safeguard Your Code Against Unintended Modifications

The article explains how shared mutable state, such as global or static variables, can cause hard‑to‑debug bugs in multithreaded Java applications, and demonstrates that adopting immutability, pure functions, and event‑sourcing principles eliminates these issues, offering concrete coding guidelines and examples.

Functional ProgrammingImmutabilitySoftware Design
0 likes · 10 min read
How to Safeguard Your Code Against Unintended Modifications
macrozheng
macrozheng
Feb 3, 2023 · Fundamentals

Why Clean Code Matters: Practical Tips for Naming, Classes, Functions, and Tests

This article explains why clean, well‑structured code is essential for productivity and project success, and provides concrete guidance on naming, class design, function composition, testing practices, and tools to help developers write maintainable, high‑quality software.

Software Designbest practicesclean code
0 likes · 13 min read
Why Clean Code Matters: Practical Tips for Naming, Classes, Functions, and Tests
JavaEdge
JavaEdge
Jan 27, 2023 · Fundamentals

Why Your Java Code Feels Procedural and How to Adopt Multi‑Paradigm Design

Even though Java promotes object‑oriented programming, many developers write code that looks like procedural C, mixing business logic across layers; this article explains programming paradigms, their constraints, and how to combine structured, object‑oriented, and functional techniques into a clean multi‑paradigm design.

Functional ProgrammingObject-OrientedProgramming Paradigms
0 likes · 9 min read
Why Your Java Code Feels Procedural and How to Adopt Multi‑Paradigm Design
JavaEdge
JavaEdge
Jan 21, 2023 · Fundamentals

Mastering Software Design: Why Model, Interface, and Implementation Matter

When joining a new project, understanding its software design by first examining the model, then the interface, and finally the implementation helps avoid getting lost in code, clarifies design decisions, and builds a clear mental map of the system.

ImplementationModelSoftware Design
0 likes · 10 min read
Mastering Software Design: Why Model, Interface, and Implementation Matter
政采云技术
政采云技术
Dec 22, 2022 · Fundamentals

Understanding Refactoring: Motivation, Standards, and a Practical Java Example

This article explains why refactoring is essential for maintainable code, outlines quality standards such as readability and extensibility, and walks through a concrete Java example that evolves from a monolithic statement method to a clean, modular design using extract method, move method, and replace‑temp‑with‑query techniques.

Software Designclean codecode quality
0 likes · 16 min read
Understanding Refactoring: Motivation, Standards, and a Practical Java Example
ITPUB
ITPUB
Nov 28, 2022 · Backend Development

When Should You Use Domain Services in Go? A Practical DDD Guide

This article explains the role of domain services in Go‑based Domain‑Driven Design, outlines three situations where they are appropriate, shows how to implement them statelessly, recommends functional package organization, and demonstrates dependency inversion with interfaces and infrastructure implementations.

Backend ArchitectureDDDDomain Services
0 likes · 13 min read
When Should You Use Domain Services in Go? A Practical DDD Guide
Architecture & Thinking
Architecture & Thinking
Nov 24, 2022 · Backend Development

How DDD Can Tame Complex Microservice Architectures

This article explains how Domain‑Driven Design (DDD) guides the strategic and tactical decomposition of monolithic applications into well‑bounded microservices, outlines its benefits such as a unified language and clearer domain boundaries, and provides concrete code examples from a membership‑center service.

DDDDomain-Driven DesignMicroservices
0 likes · 14 min read
How DDD Can Tame Complex Microservice Architectures
Open Source Linux
Open Source Linux
Nov 21, 2022 · Fundamentals

Master Core Programming Principles: KISS, DRY, YAGNI and More

This article compiles essential programming principles such as KISS, DRY, YAGNI, and others, explaining their origins, practical advice, and additional design guidelines to help developers write simpler, more maintainable, and less error‑prone code.

DRYKISSSoftware Design
0 likes · 10 min read
Master Core Programming Principles: KISS, DRY, YAGNI and More
21CTO
21CTO
Nov 17, 2022 · Fundamentals

Why Clean Code Principles Matter for Every Developer

This article shares practical takeaways from the book "Clean Code", covering why messy code hurts productivity, how to name variables and functions better, essential class design rules, error handling, refactoring tips, and a brief look at concurrency and iterative development.

Software Designclean codecoding standards
0 likes · 9 min read
Why Clean Code Principles Matter for Every Developer
DaTaobao Tech
DaTaobao Tech
Nov 2, 2022 · Frontend Development

Insights on Front‑End Architecture and the Role of a Front‑End Architect

The senior Taobao front‑end engineer describes how building internal tools like AppDevTools and mtop.js shaped his view of front‑end architecture, outlining the architect’s role in linking product, design, and engineering, creating clear, flexible solutions, guiding teams through systematic problem‑solving, and fostering continuous learning and communication.

Frontend ArchitectureSSRSoftware Design
0 likes · 9 min read
Insights on Front‑End Architecture and the Role of a Front‑End Architect
Top Architect
Top Architect
Sep 26, 2022 · Fundamentals

Key Programming Principles: KISS, DRY, YAGNI and Other Guidelines

This article explains essential software design principles such as KISS, DRY, YAGNI, and additional guidelines for writing maintainable, simple code, while also warning against over‑engineering and emphasizing the importance of testing, clear communication, and minimal coupling in everyday programming practice.

DRYKISSSoftware Design
0 likes · 11 min read
Key Programming Principles: KISS, DRY, YAGNI and Other Guidelines
Architects' Tech Alliance
Architects' Tech Alliance
Sep 3, 2022 · Fundamentals

Architectural Musings: Defining Architecture and Its Role in Software Development

This article explores the concept of architecture—from its origins in human societal division of labor to its application in software design—highlighting why recognizing problems, defining boundaries, and splitting responsibilities are essential for building effective, scalable systems that serve human needs.

Business AnalysisSoftware DesignSystem Design
0 likes · 60 min read
Architectural Musings: Defining Architecture and Its Role in Software Development