Tagged articles

Single Responsibility

12 articles · Page 1 of 1
SpringMeng
SpringMeng
Jan 29, 2026 · Fundamentals

Stop Over‑Encapsulating: How Bad Encapsulation Leads to Hidden Bugs

The article analyzes three harmful forms of improper encapsulation—over‑encapsulation, fake encapsulation, and chaotic encapsulation—illustrates each with Java code examples, explains the resulting development inefficiencies, extensibility issues, and debugging difficulties, and offers concrete principles to avoid these pitfalls.

EncapsulationSingle ResponsibilitySoftware Design
0 likes · 12 min read
Stop Over‑Encapsulating: How Bad Encapsulation Leads to Hidden Bugs
Code Mala Tang
Code Mala Tang
Jan 27, 2025 · Fundamentals

How to Refactor Flag‑Heavy Python Functions for Cleaner, Scalable Code

This article examines a Python function overloaded with flags, explains why such design harms readability, testability, and extensibility, and demonstrates step‑by‑step refactoring using descriptive helper functions, a pipeline approach, flexible step lists, and type annotations to produce clean, maintainable code.

PythonSingle Responsibilitycode quality
0 likes · 5 min read
How to Refactor Flag‑Heavy Python Functions for Cleaner, Scalable Code
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
May 31, 2024 · Backend Development

Mastering Microservice Splitting: 6 Essential Design Principles

This article outlines six fundamental microservice splitting principles—including single responsibility, appropriate granularity, interface segregation, product impact avoidance, scalability, and fault tolerance—to help architects design maintainable, decoupled, and resilient services.

Fault ToleranceSingle Responsibilityinterface segregation
0 likes · 5 min read
Mastering Microservice Splitting: 6 Essential Design Principles
Java Architect Essentials
Java Architect Essentials
Apr 15, 2024 · Fundamentals

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

The article explains why maintaining clean code is essential, covering naming conventions, class design, function principles, and testing strategies, and provides concrete Java examples and refactoring techniques to help developers write readable, maintainable, and high‑quality software.

Single Responsibilityclean codenaming conventions
0 likes · 16 min read
Clean Code Practices: Naming, Classes, Functions, and Testing Guidelines
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
Top Architect
Top Architect
Dec 5, 2022 · Fundamentals

Essential Software Architecture Principles Explained by a Senior Architect

The article presents a concise overview of core software architecture principles—including Dependency Inversion, Separation of Concerns, Inversion of Control, Dependency Injection, Single Responsibility, DRY, Open‑Closed, and many others—supplemented with Java code examples and references for deeper study.

Dependency InversionDesign PrinciplesInversion of Control
0 likes · 12 min read
Essential Software Architecture Principles Explained by a Senior Architect
Architect's Journey
Architect's Journey
Mar 9, 2022 · Backend Development

What Factors Should You Consider When Splitting Microservices?

The article explains how breaking a monolith into microservices can introduce data consistency challenges, discusses the CAP theorem and Conway's law, and provides practical guidelines—such as single‑responsibility division, team‑aligned service boundaries, and appropriate use of BASE and distributed transactions—to split services responsibly.

CAP theoremConway's LawSingle Responsibility
0 likes · 11 min read
What Factors Should You Consider When Splitting Microservices?
Java Architect Essentials
Java Architect Essentials
Sep 25, 2021 · Fundamentals

Why Long Classes Are Problematic and How to Refactor Them

The article explains why excessively long classes violate design principles, cause readability and maintenance issues, and provides step‑by‑step refactoring techniques using IntelliJ IDEA to extract methods, move members, and split responsibilities for cleaner, more maintainable code.

IDEASingle ResponsibilitySoftware Design
0 likes · 9 min read
Why Long Classes Are Problematic and How to Refactor Them
Java High-Performance Architecture
Java High-Performance Architecture
May 8, 2021 · Backend Development

Mastering Microservice Design: 3 Core Principles for Scalable Systems

This article explains three essential microservice design principles—single responsibility, high cohesion, and low coupling—along with practical guidelines such as hiding internal implementations, avoiding shared codebases, minimizing data exposure, and preferring asynchronous communication to ensure maintainable, scalable services.

Design PrinciplesHigh CohesionLow Coupling
0 likes · 7 min read
Mastering Microservice Design: 3 Core Principles for Scalable Systems
Nullbody Notes
Nullbody Notes
Nov 15, 2020 · Fundamentals

Factory Method Pattern in Go: A Foodie's Take on Object Creation

This article walks through implementing Simple Factory and Factory Method patterns in Go, showing how to encapsulate object creation with a Food interface, concrete types, and factory structs, and explains the pointer vs value implementation rules and design‑principle benefits.

Dependency InversionDesign PatternsFactory Method
0 likes · 7 min read
Factory Method Pattern in Go: A Foodie's Take on Object Creation
Tencent IMWeb Frontend Team
Tencent IMWeb Frontend Team
Jun 29, 2017 · Frontend Development

Master CSS: Semantic HTML, Modular Design, and Naming Conventions

This article explains how to level up your CSS skills by using proper semantic markup, modular component structures, a unified naming system like BEM, and the single‑responsibility principle, providing practical code examples and visual illustrations for robust, maintainable front‑end styling.

BEMCSSFrontend
0 likes · 9 min read
Master CSS: Semantic HTML, Modular Design, and Naming Conventions
21CTO
21CTO
Aug 29, 2015 · Backend Development

How to Prevent Service Failures: Trust Third‑Party, Guard Users, Master Your Own Code

An experienced backend engineer shares practical strategies to prevent service failures, covering third‑party distrust, user‑side safeguards, robust API design, traffic limiting, resource management, and architectural best practices such as single‑responsibility and avoiding single points of failure.

API designFault ToleranceSingle Responsibility
0 likes · 16 min read
How to Prevent Service Failures: Trust Third‑Party, Guard Users, Master Your Own Code