본문 바로가기

클린아키텍처

(10)
[Clean Architecture]SOLID 원칙 : 3.LSP 리스코프 치환 원칙 LSP 란? 바바라 리스코프라는 사람이 정의한 하위 타입에 대해 먼저 생각해보자 . 여기에서 필요한 것은 다음과 같은 치환 원칙이다. S 타입의 객체 o1 각각에 대응하는 T 타입 객체 o2가 있고, T타입을 이용해서 정의한 모든 프로그램 P에서 o2자리에 o1을 치환하더라도 P의 행위가 변하지 않는다면, S는 T의 하위 타입이다. 말이 쪼금 헷갈리니... 상황을 다시 적어본다면,, 어떤 프로그램 P가 있는데 이게 T타입을 이용해서 만들었고, 만약에 이 T 타입의 객체 o2자리에 S 타입의 객체 o1로 치환해도 P행위가 변하지 않는다면 S는 T의 하위 타입이다... 즉 S는 T를 상속하였고 그 기능들을 다 가지고 있을 것이고, 따라서 S든 T든 P행위에도 영향을 끼치지 않았겠지? 무튼 LSP 원칙이 이러..
[Clean Architecture]SOLID 원칙 개론 좋은 소프트웨어를 만들기 위해서는 좋은 벽돌로 좋은 아키텍쳐를 정의하는 원칙이 필요하다. Clean Architecture는 좋은 벽돌을 만들기 위해서 SOLID원칙을 제시하고있다. SOLID 원칙은 다음을 설명해준다 함수와 데이터의 집합을 클래스로 배치하는 방법. 이 클래스들을 서로 결합하는 방법. SOLID의 목적은 한 문장으로 표현하자면 중간 수준의 소프트웨어 구조가 변경에 유연하고, 이해하기 쉬우며, 많은 소프트웨어 시스템에 사용될 수 있는 컴포넌트의 기반이 되어야한다. **중간 순의 소프트웨어 구조? : 모듈과 컴포넌트 수준의 내부에서 사용되는 소프트웨어 구조. SOLID 원칙 (https://en.wikipedia.org/wiki/SOLID) SRP : 단일 책임 원칙 Single Respon..