Software Design 원칙 SOLID 알아보기
해당 포스팅에서는 객체지향 설계의 5대 원칙이라고 불리는 SOLID에 대해 개념과 예제 코드, 베스트 프렉티스, 장점 등을 상세히 설명하고 있습니다. SOLID는 저 또한 예전 면접에서 받았던 질문으로 면접 단골 문제이기도 한데요, 이러한 설계 원칙은 확장성이 있고 유지 보수성이 뛰어난 애플리케이션을 구현하기 위한 훌륭한 원칙이라고 합니다. SRP(Single Responsibility Principle) : 단일 책임 원칙 OCP(Open-Closed Principle) : 개방-폐쇄 원칙 LSP(Liskov Substitution Principle) : 리스코프 치환 원칙 ISP(Interface Segregation Principle) : 인터페이스 분리 원칙 DIP(Dependency Inversion Principle) : 의존 역전 원칙 SOLID 원칙을 지키면 여러가지 장점을 얻을 수 있습니다. 유연성 - SOLID는 유지보수성과 확장성을 높이는 데 도움이 되며, 변경에 대한 유연성을 제공한다. 코드의 재사용성 - SOLID는 모듈 간의 결합도를 낮추고, 의존성을 최소화하여 코드의 재사용성을 높인다. 유지보수성 - SOLID는 코드의 복잡성을 낮추어 유지보수성을 높인다. 테스트 용이성 - SOLID는 단위 테스트를 용이하게 하며, 이는 소프트웨어의 품질을 높이는 데 도움이 된다. 협업 용이성 - SOLID는 코드를 이해하기 쉽고, 이는 다른 개발자들과의 협업을 용이하게 만든다. 포스팅에서는 SOLID 원칙에 대해 굉장히 자세하게 설명하고 있고, 무엇보다 좋았던 점은 각각의 원칙을 설명하면서 원칙을 위배한 예제, 이를 해결한 솔루션을 코드로 상세히 설명해 주고 있어서 이해하기에 더욱 수월했던 것 같습니다. 각 원칙의 개념을 확인하고 원칙을 위배한 예제를 확인한 후 솔루션을 미리 확인하지 말고, 본인이 어느정도 예상해보고 솔루션을 확인한다면 더욱 유용할 것 같습니다 :)