클린아키텍쳐-리스코프 치환 원칙

리스코프 치환 원칙(LSP Liskov Substitution Principle)

1988년 바바라 리스코프는 하위 타입을 아래와 같이 정의했다.

1
2
3
4
5
6

여기에 필요한 것은 다음과 같은 치환(substitution) 원칙이다.
S 타입의 객체 o1 각각에 대응하는 T 타입 객체 o2가 있고,
T 타입을 이용해서 정의한 모든 프로그램 P에서 o2의 자리에 o1을 치환하더라도 P의 행위가 변하지 않는다면,
S는 T의 하위 타입이다

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

  • 정사각형/ 직사각형 문제

아키텍처 관점에서 LSP를 이해하는 최선의 방법은 이원칙을 어겼을때 시스템 아키텍처에ㅓㅅ 무슨일이 일어나는지 관찰하는 것이다.

REST 서비스 들의 인터페이스가 서로 치환 가능하지 않다는 사실을 처리하는 중요하고 복잡한 매커니즘을 추가해야 한다.

LSP는 아키텍처 수준까지 확장할 수 있고, 반드시 확장해야만 한다.

참조