일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 이펙티브 자바
- 깃
- CS
- OS
- 깃허브
- 메모리
- java
- 정보처리기사
- 프로그래밍
- 알고리즘
- IT
- Public
- 스터디
- 세마포어
- package-private
- 컴퓨터공학
- 신입사원
- 뮤텍스
- Effective Java
- 스프링
- 개발
- 우리카드
- 자바
- 디지털
- spring
- 운영체제
- 공채
- github
- 컴퓨터과학
- 신입
Archives
- Today
- Total
주니어 개발자 성장기
(22.11.15) 2. SRP, DIP, OCP 본문
SRP란
한 클래스는 하나의 책임만 가져야 한다.
Single responsibility principle
- 하나의 클래스는 하나의 역할만을 해야한다.
- 예를 들어, 할인 정책, 회원 관리, 주문 관리 등의 역할부터
- 구현 객체를 생성, 연결, 실행 하는 등의 관심사도 분리가 필요하다.
OCP란
확장에는 열려있지만, 변경에는 닫혀있어야 한다.
Open/Closed principle
- 소프트웨어 요소를 확장하더라도 코드를 변경할 필요가 없다는 의미이다.
- 다형성(인터페이스)과 DI를 이용해 이 원칙을 지킬 수 있다.
DIP란
구체화에 의존하는 것이 아니라, 추상화에 의존해야 한다.
의존관계 주입(Dependency Injection)은 이 원칙을 따르는 방법 중 하나다.
Dependency inversion principle
- 클래스는 구체화된 구현체에 의존하지 않아야 한다는 의미이다.
- 즉, 인터페이스(추상화)에 의존하면 된다.
- OCP와 마찬가지로 다형성과 외부에서의 DI를 통해서 지켜질 수 있다.
'Spring > 핵심' 카테고리의 다른 글
(22.11.17) 6. 스프링 컨테이너(3) - XML (0) | 2022.11.17 |
---|---|
(22.11.16) 5. 스프링 컨테이너(2) - BeanFactory, ApplicationContext (0) | 2022.11.16 |
(22.11.15) 4. 스프링 컨테이너(1) - 생성 (0) | 2022.11.15 |
(22.11.15) 3. IoC, DI, 컨테이너 (0) | 2022.11.15 |
(22.07.07) 1. 스프링이란? (0) | 2022.07.07 |