Post

LSP: 리스코프 치환 원칙

9. LSP: 리스코프 치환 원칙

상속을 사용하도록 가이드하기

애플리케이션의 행위가 하위 타입 중 무엇을 사용하는지에 대해 전혀 의존하지 않음 -> LSP 준수

정사각형/직사각형 문제

LSP를 위반하는 전형적인 문제

Square는 Rectangle의 하위 타입으로는 적합하지 않음

Rectangle의 높이와 너비는 서로 독립적으로 변경될 수 있는 반면, Squre의 높이와 너비는 반드시 함께 변경되기 때문

LSP와 아키텍처

LSP는 인터페이스와 구현체에도 적용되는 더 광범위한 소프트웨어 설계 원칙

결론

LSP는 아키텍처 수준까지 확장해야 한다.

치환 가능성을 조금이라도 위배하면 시스템 아키텍처가 오염되어 상당량의 별도 메커니즘을 추가해야 할 수 있기 때문

참조

  1. 클린 아키텍처(Clean Architecture)
This post is licensed under CC BY 4.0 by the author.