SOLID Principles The Right Way
- SOLID 원칙은 자주 언급되지만 실제로 적용되는 경우는 적고 이해하는 데 어려움을 겪는 경우가 많으며, ACID 트랜잭션이나 Enterprise 설계 패턴과 마찬가지입니다. 🤔
- SOLID 원칙은 처음에는 간단해 보이지만 각 원칙마다 고려해야 할 사항이 있습니다. 🧐
- 단일 책임 원칙(SRP)은 각 클래스가 하나의 명확한 책임이어야 함을 의미하며, 실제 시나리오에서는 사용 서비스 클래스가 여러 가지 업무를 처리하는 경우가 많습니다. 👨💻
- 개방-닫기 원칙(OCP)은 새로운 기능을 추가할 때 기존 코드를 수정하지 않고 새로운 클래스를 만들어야 함을 의미하며, 과도한 추상화는 오히려 복잡성을 야기할 수 있습니다. 📦
- Liskov 대체 원칙(LSP)은 부모 클래스의 객체를 자식 클래스의 객체로 대체할 때 코드의 동작이 유지되어야 함을 의미하며, 부모 클래스의 기능을 자식 클래스가 충족할 수 없도록 설계하는 것은 오히려 문제를 일으킵니다. 🐧
- 인터페이스 분리 원칙(ISP)은 클라이언트가 사용하지 않는 인터페이스를 구현해서는 안 되며, 간소화된 인터페이스를 사용하여 코드 이해도를 높일 수 있습니다. 🕹️