목록Solid (6)
오늘이군
※ 추천 글 https://www.youtube.com/watch?v=nrlHZBAXjv8&t=3894s 49분~ https://www.youtube.com/watch?v=AeyUpM3A2zo 1. DIP (Dependency Inversion Principle) : 의존 역전의 원칙 가. 설명 고차원모듈은 저차원모듈에 의존하면 안된다. 이 두 모듈 모두 다른 추상화된 것에 의존해야 한다 추상화된 것은 구체적인 것에 의존하면 안된다. 구체적인 것이 추상화 된 것에 의존 (의존의 역전)해야 한다. 자주 변경되는 구체(Concrete) 클래스에 의존하지 마라. 나. 적용 전 (겨울이 지나면? 눈이 안오면? 난감하다) class 자동차 { 스노우타이어 st = new 스노우타이어(); } 자동차는 자신보다 변..
※ 추천 글 https://www.youtube.com/watch?v=nrlHZBAXjv8&t=3894s 41분~ http://blog.naver.com/zxy826/220888878122 1. ISP (Interface Segregation Principle) : 인터페이스 분리의 원칙 가. 설명 "클라이언트는 자신이 사용하지 않는 메서드에 의존관계를 맺으면 안된다" - 로버트 C.마틴 나. 예시 1) 적용전 2) 적용후 책임을 분리하는 관점에서 SRP 와 유사하며외부 라이브러리 등 수정이 불가능한 상황에서는 ISP 를 적용하고, 직접 수정이 가능한 경우는 SRP 가 더 유리합니다.
※ 추천 글 https://www.youtube.com/watch?v=nrlHZBAXjv8&t=3894s 39분~ http://blog.naver.com/ruzicka/220794452970 1. LSP (Liskov Substitution Principle) : 리스코프 치환의 원칙 가. 설명 "서브타입은 언제나 자신의 기반타입 (base type) 으로 교체할 수 있어야 한다" - 로버트 C.마틴 나. 필요조건 1) 하위클래스 is a kind of 상위클래스 동물 animal = new 개(); animal.cry(); 상위클래스에 하위클래스 객체를 대입해 사용해도 프로그램은 정상적으로 동작해야 한다. 2) 구현클래스 is able to 인터페이스 다. 위반시 문제점 1) 하위클래스 객체를 파라미터..
※ 추천 글 https://www.youtube.com/watch?v=nrlHZBAXjv8&t=3894s 27분~ http://mckdh.net/554 1. OCP (Open Closed Principle) : 개방폐쇄의 원칙 가. 설명 "소프트웨어 엔티티(클래스, 모듈, 함수 등) 는 확장에 대해서는 개방돼야 하지만 변경에 대해서는 폐쇄돼야 한다" - 로버트 C.마틴 데이터베이스가 오라클에서 MySQL로 바뀐다고 해도 Connection을 설정하는 부분 외에는 따로 수정 할 필요가 없다. 기존 개발된 기능의 변경 건이 있거나 새로운 기능 확장을 해야하는 경우, 기존 클래스 내부코드를 변경하는 방법은 기존의 소스를 사용하는 모든 클래스의 정상적인 작동이 위태롭게 된다. 이 때 기존의 클래스를 최대한 수정..
※ 추천 글 https://www.youtube.com/watch?v=nrlHZBAXjv8&t=3894s http://mckdh.net/553 1. SRP (Single Responsibility Principle) : 단일 책임의 원칙 가. 설명 "어떤 클래스를 변경해야 하는 이유는 오직 하나뿐이어야 한다." - 로버트 C. 마틴 나. 검증 다. 리팩토링
# JPA (ORM) https://www.youtube.com/watch?v=OOO4H3BAetU https://www.slideshare.net/zipkyh/spring-datajpa?next_slideshow=1 # TDD (테스트 주도 개발) https://youtu.be/hFXkjZthuzU # DDD (도메인 주도 설계) https://www.youtube.com/watch?v=N3NSISzolSw # 모던자바 (함수형프로그래밍) https://www.youtube.com/channel/UCsOJxLxzQl8IbwGS-Cp5t8w/search?query=%EC%9E%90%EB%B0%948 # 이벤트소싱 https://youtu.be/TDhknOIYvw4 # MSA (마이크로 서비스 아키텍쳐) ..