피드로 돌아가기
Dev.toBackend
원문 읽기
Procedural WordPress 환경을 Scalable 구조로 전환하는 OOP 설계 전략
OOP - Make Your Code More Scalable
AI 요약
Context
전역 네임스페이스 기반의 Procedural 코드와 Hook 중심 아키텍처로 인한 비즈니스 로직의 혼재 발생. 기능 확장 시 기존 코드의 잦은 수정이 불가피하여 사이드 이펙트 증가 및 유지보수 효율 저하 문제 직면.
Technical Solution
- Method Chaining 적용을 통한 Setter 호출 구조의 가독성 및 선언적 API 인터페이스 확보
- Dependency Injection 도입을 통한 클래스 간 Tight Coupling 제거 및 Mock 객체 기반의 테스트 가능성 확보
- SRP 및 ISP 적용으로 단일 책임 기반의 클래스 분리 및 불필요한 인터페이스 구현 강제 제거
- OCP 준수를 위한 인터페이스 기반 확장 구조 설계로 기존 안정적 코드의 수정 없이 신규 기능 추가 가능 구조 구축
- DIP 설계를 통한 고수준 모듈의 구체 클래스 의존성 제거 및 인터페이스 중심의 느슨한 결합 달성
실천 포인트
- 단일 파일 내 2,000라인 이상의 거대 함수 존재 여부 확인 및 책임 기반 클래스 분리 - 클래스 내부에서 new 키워드를 통한 객체 생성 대신 생성자 주입 방식 검토 - 구현체 변경 가능성이 있는 메일러, 스토리지, 결제 모듈의 Interface 정의 여부 확인 - 인터페이스 내 미사용 메서드가 존재하는 경우 더 작은 단위의 인터페이스로 분할