공대생 노트 창고
환영합니다! 본 블로그에서는 코딩, 딥러닝 관련 노트들을 포스팅합니다. 모든 문의 및 질문은 댓글에 남겨주세요 :)
최신 노트
- [Clean Architecture] - SOLID 원칙 DIP (5) 오늘은 SOLID 원칙의 마지막, DIP 원칙을 알아본다. SOLID 원칙 시리즈해당 시리즈는 로버트 C.마틴의 Clean Architecture 책을 보며 쉬운 이해를 위해 ChatGPT와 함께 공부한 내용을 정리해 놓은 글입니다. SRP: 단일 책임 원칙OCP: 개방-폐쇄 원칙LSP: 리스코프 치환 원칙ISP: 인터페이스 분리 원칙DIP: 의존성 역전 원칙DIP: 의존성 역전 원칙- 고수준 모듈이 저수준 모듈에 의존하지 않고, 추상화에 의존하도록 만드는 것- 구체적인 클래스(저수준 구현)에 의존하지 않고, 인터페이스(추상화)에 의존하도록 설계 이번에도 마찬가지로 파이썬 예제를 살펴보며 이해해보자. 아래의 코드에서 Computer는 Keyboard에 의존한다. 만약 컴퓨터가 키보드가 아닌 다른 in.. 더보기
- [Clean Architecture] - SOLID 원칙 ISP (4) 오늘은 SOLID 원칙 4번째인 ISP에 대해 알아본다. SOLID 원칙 시리즈해당 시리즈는 로버트 C.마틴의 Clean Architecture 책을 보며 쉬운 이해를 위해 ChatGPT와 함께 공부한 내용을 정리해 놓은 글입니다. SRP: 단일 책임 원칙OCP: 개방-폐쇄 원칙LSP: 리스코프 치환 원칙ISP: 인터페이스 분리 원칙DIP: 의존성 역전 원칙 ISP: 인터페이스 분리 원칙- 클라이언트는 자신이 사용하지 않는 메서드에 의존하지 않아야 한다.- 인터페이스는 사용자가 필요로 하는 기능만 제공하도록 작게 분리해야 하며, 불필요한 메서드를 포함하지 말아야 한다. 파이썬의 경우 동적 타입 언어로, 소스 코드 의존성이 없으며, ISP에 영향을 많이 받지 않는다고 한다. 또한, 파이썬에는 명시적인 인.. 더보기
- [Clean Architecture] - SOLID 원칙 LSP (3) 이번 장에서는 SOLID 원칙 중 LSP에 대해 다뤄보자. SOLID 원칙 시리즈해당 시리즈는 로버트 C.마틴의 Clean Architecture 책을 보며 쉬운 이해를 위해 ChatGPT와 함께 공부한 내용을 정리해 놓은 글입니다. SRP: 단일 책임 원칙OCP: 개방-폐쇄 원칙LSP: 리스코프 치환 원칙ISP: 인터페이스 분리 원칙DIP: 의존성 역전 원칙 LSP (Liskov Substitution Principle): 리스코프 치환 원칙- 서브타입(자식 클래스)은 언제나 자신의 기반 타입(부모 클래스)으로 대체할 수 있어야 한다.- 치환 가능성을 조금이라도 위배하면 시스템 아키텍처가 오염되어 상당량의 별도 매커니즘을 추가해야할 수 있다. 위의 문장만 봐서는 딱 와닿지 않으니 아래 예제를 한번 .. 더보기
-
[Clean Architecture] - SOLID 원칙 OCP (2) 이번 장에서는 SOILD 원칙 2번째, OCP: 개방-폐쇄 원칙을 알아본다. SOLID 원칙 시리즈해당 시리즈는 로버트 C.마틴의 Clean Architecture 책을 보며 쉬운 이해를 위해 ChatGPT와 함께 공부한 내용을 정리해 놓은 글입니다. SRP: 단일 책임 원칙OCP: 개방-폐쇄 원칙LSP: 리스코프 치환 원칙ISP: 인터페이스 분리 원칙DIP: 의존성 역전 원칙 OCP: 개방-폐쇄 원칙- 소프트웨어 개체의 행위는 확장할 수 있어야 하나, 개체를 변경해서는 안된다. - 살짝 확장하는데 소프트웨어를 엄청나게 수정해야 하는 비효율을 줄이자. 하나의 소프트웨어가 여러 책임을 가지고 있다면, 이를 확실하게 조직화하는 과정이 필요하다. 아래 그림을 보면서 생각해보자. 위의 조직도는 재무재표를.. 더보기