Logical Architecture: Basic Constraints, Reuse, and Layering
This article explores the essential constraints of logical architecture, discusses software design principles and patterns for reuse, examines various reuse strategies, and details how logical architecture can be layered and partitioned across different granularities to improve maintainability, scalability, and efficiency.
The article begins by reviewing the basic constraints of logical architecture, distinguishing between fundamental constraints (software design principles such as Single Responsibility, Open‑Closed, Liskov Substitution, Dependency Inversion, Interface Segregation, etc.) and business‑level constraints that arise from domain requirements.
It then highlights that design principles serve as judgment criteria, while design patterns provide the implementation methods to satisfy those criteria, emphasizing the importance of applying patterns at the module‑level rather than only within individual components.
Reuse is examined from two perspectives: business‑agnostic reuse (frameworks, libraries, middleware) and business‑related reuse (domain models, workflow engines, calculation models). The article argues that service‑oriented reuse often offers better deployment flexibility, while library‑based reuse remains valuable for shared utilities.
The concept of logical architecture layering is clarified, differentiating it from traditional code‑level layering (presentation, business, data). Logical layers reflect module responsibilities and dependencies, guiding how modules interact across vertical and horizontal dimensions.
A “granularity tree” is introduced to visualize how modules can be broken down into sub‑modules, packages, applications, or platforms, and three principles for structuring this tree are presented: vertical abstraction, horizontal cohesion, and clear boundaries.
Finally, the article discusses practical considerations when materializing logical modules—team size, stability, performance, and strong vs. weak dependencies—concluding that a well‑structured logical architecture, grounded in solid design principles and thoughtful reuse, is key to building scalable, maintainable systems.
Qunar Tech Salon
Qunar Tech Salon is a learning and exchange platform for Qunar engineers and industry peers. We share cutting-edge technology trends and topics, providing a free platform for mid-to-senior technical professionals to exchange and learn.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.