SOLID AS A SYSTEM OF CONSTRUCTIVE CONSTRAINTS IN SOFTWARE ARCHITECTURE DESIGN

Authors

  • Kornilov Ivan National University of Life and Environmental Sciences of Ukraine image/svg+xml
  • Weigang Ganna National University of Life and Environmental Sciences of Ukraine image/svg+xml

Keywords:

SOLID, Object-Oriented Programming, Software Architecture, Design Patterns, Cohesion, Coupling, Code Quality Metrics, Dependency Inversion (DI/IoC)

Abstract

The article presents SOLID as a system of constructive constraints that disciplines the degrees of freedom in design and transforms the evolution of software systems into a controlled process. It explains the relationship of the principles with the foundations of object-oriented programming, design patterns, and architectural styles. Non-obvious effects are examined, including premature abstractions under OCP, hidden configuration coupling under DIP/DI, class explosion and responsibility fragmentation under SRP/ISP, and semantic violations of LSP that are not captured by type signatures. An operational approach to decision validation is proposed through metrics, contract-based tests, and threshold controls for introducing abstractions, along with practical decision-making protocols.

Author Biographies

  • Kornilov Ivan, National University of Life and Environmental Sciences of Ukraine

    Assistant, Department of Computer Science

  • Weigang Ganna, National University of Life and Environmental Sciences of Ukraine

    Candidate of Engineering Sciences, Associate Professor, Associate Professor of the Department of Computer Science

References

Published

2025-08-10

Issue

Section

Software Engineering Section