피드로 돌아가기
From OOP to SOLID: Everything You Need to Know in One Article
Dev.toDev.to
Backend

의존성 관리 최적화를 통한 Rigidity 및 Fragility 해결 전략

From OOP to SOLID: Everything You Need to Know in One Article

Sanudin2026년 5월 24일6intermediate

Context

단일 클래스에 과도한 책임이 집중된 구조로 인해 시스템 수정 시 예기치 못한 장애가 발생하는 Fragility 현상 발생. 컴포넌트 간 강한 결합도로 인해 코드 재사용이 불가능한 Immobility 상태의 아키텍처 한계 직면.

Technical Solution

  • Single Responsibility Principle 적용을 통한 클래스 책임 분리를 통한 변경 영향도 최소화
  • Open/Closed Principle 기반의 확장 구조 설계를 통한 기존 동작 코드 수정 없는 기능 추가 구현
  • Liskov Substitution Principle 준수로 상위 타입과 하위 타입 간의 완전한 대체 가능성 확보
  • Interface Segregation Principle을 통한 Fat Interface 제거 및 클라이언트 필요 기능 중심의 인터페이스 세분화
  • Dependency Inversion Principle 적용으로 고수준 비즈니스 로직과 저수준 인프라 구현체 간의 결합도 제거 및 추상화 계층 도입

1. 클래스 내에 'and'로 연결되는 역할이 존재하는지 확인하여 SRP 위반 여부 검토

2. 상속 관계에서 빈 메서드나 NotSupportedException 발생 여부를 확인하여 LSP 준수 여부 검증

3. 인프라스트럭처(DB, API) 접근부에 인터페이스를 도입하여 비즈니스 로직과의 의존성 분리(DIP) 적용

원문 읽기