Fundamentals 12 min read

Mastering Scalable Architecture: Modular Design, High Cohesion, and Evolution

This article shares practical guidelines for building a robust, modular software architecture—emphasizing strong module support, high cohesion with low coupling, embracing change through evolution, and designing scalable, extensible systems—while illustrating how tools like Git, Maven, and micro‑service frameworks can improve developer productivity and system resilience.

21CTO
21CTO
21CTO
Mastering Scalable Architecture: Modular Design, High Cohesion, and Evolution

"Wind Whisperer Customer+" is a SaaS solution for small and medium enterprises that reduces the cost of building a custom customer service system. To provide stable, reliable, and high‑quality service, the authors have put considerable effort into the overall architecture.

Philosophy of Architecture

Drawing from traditional Chinese culture, successful endeavors require three aspects: clear direction (明道), excellent tactics (优术), and seizing opportunity (取势). In software architecture, this translates to following natural laws to set a clear direction, employing superior practical techniques, and adapting to real‑world conditions.

1. Strong Modular Support

Developers should be able to run services locally with minimal friction—code changes become instantly visible. Key enablers include:

Git code management : Teams can pull the latest repository, work on isolated branches, stash changes, review peers, and unstash without affecting others, greatly boosting efficiency.

Dependency management tools such as Maven, Gradle, or CocoaPods: These automate library versioning, avoiding the pitfalls of manual JAR copying and inconsistent dependencies across projects.

2. High Cohesion, Low Coupling

Adopt the “do one thing well” principle championed by UNIX and Google. Avoid monolithic classes that try to do everything; instead, split large utility classes into focused, high‑cohesion components (e.g., separate HttpUtils, FTPUtils, TelnetUtils). Refactoring guidelines include:

Divide large utility classes into smaller, theme‑based classes.

Move rarely used methods out of frequently called classes.

Eliminate circular dependencies between classes.

Express a class’s purpose in a single sentence without conjunctions like “and” or “or”.

3. Embrace Evolution

Design for scalability from the start, but recognize that most projects die before architecture decay becomes an issue. Aim for a flexible, plug‑in architecture:

Separate interfaces from implementations to allow swapping components as requirements change.

Prefer micro‑service decomposition and use service registries such as Alibaba’s Dubbo.

Leverage proven front‑end frameworks like Bootstrap for responsive design.

Build resilience by anticipating edge cases (e.g., handling unexpected else branches, providing graceful fallbacks, caching locally when servers fail).

4. Design Extensible Yet Avoid Over‑Design

Follow these principles:

Layer the code (presentation, business logic, data access) so that bottlenecks can be optimized or scaled independently.

Keep core services stateless, eliminating request‑specific data dependencies.

Adopt widely‑tested, mature infrastructure components.

Utilize cluster management tools like Zookeeper for service orchestration.

In "Wind Whisperer Customer+", business logic is packaged into a ServiceBox and registered via Dubbo. When load increases, additional service nodes can be added at the operations layer to maintain high‑quality user experience.

Architecture diagram
Architecture diagram
Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Software ArchitectureDevOpsmodular design
21CTO
Written by

21CTO

21CTO (21CTO.com) offers developers community, training, and services, making it your go‑to learning and service platform.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.