티스토리 뷰
|
OOP 설계 원칙을 알아도 경험없이 적재적소에 써먹기는 쉽지 않다.
그래서 패턴을 알고 비슷한 상황에 적용한다면 클래스 파일을 증식시켜서 더 복잡한 프로그램을 막을 수 있지 않을까?
(라고 생각한다... 출근하자마자 써먹어봐야겠다)
비슷한 코드를 실행하는 if-else 블록이 있다면 전략 패턴!
ex) 조건별로 할인가 적용 등등
같은 기능을 여러군데서 사용하고 있다면 템플릿 메서드 패턴!
ex) DB와 LDAP에서 동시에 사용자 인증 기능이 필요할 경우, 결제 기능이 결제사 별로 동일하게 필요할 경우 등등
상태에 따라 기능이 다르게 동작해야 한다면 상태 패턴!
ex) if-else와 case문에서 적용 가능, 들어온 금액에 따라 다르게 반응해야할 때(들어온 금액이 없거나, 부족하거나, 초과하거나 등등)
기능 확장으로 클래스가 불필요하게 증가된다면 데코레이터 패턴!
필요한 순간에 실제 객체 생성해주면 가상 프록시
접근 권한이 있는 경우에만 실제 객체의 메서드를 실행하면 보호 프록시
다른 프로세스에 존재하는 객체에 접근할 때 사용되면 원격 프록시
(조금 더 학습이 필요한 패턴인듯...)
ex) 스크롤 할 때 이미지 불러올 때(?)
인터페이스가 서로 일치하지 않을 때 사용할 수 있는 어댑터 패턴!
ex) SLF4J(로깅 API, 로깅 프레임워크와 SLF4J에서 제공하는 인터페이스를 맞추기 위해 어댑터 사용)
'Book' 카테고리의 다른 글
그림으로 공부하는 IT 인프라 구조 (0) | 2019.10.07 |
---|---|
객체 지향과 디자인 패턴 (Part 2.설계 원칙 / DI) (0) | 2019.05.02 |
객체 지향과 디자인 패턴 (Part 1.객체지향) (0) | 2019.04.28 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 파이팅코리아
- 124 나라의 숫자
- 알고리즘
- FrogJmp
- 노션트렐로광고X
- 타겟 넘버
- json
- 프로그래머스
- K번째수
- 쇠막대기
- AWS
- codility
- 안드로이드 스튜디오
- 최솟값
- cgv
- Spring
- 자바
- java
- 예매 알림
- 다음 맵 api
- 맵 api
- 기능개발
- 객체지향과 디자인패턴
- 더 나은 내일
- 텔레그램
- API
- 카카오인턴
- 문자열 내 마음대로 정렬하기
- 완주하지 못한 선수
- 스프링 부트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함