티스토리 뷰

객체 지향과 디자인 패턴
국내도서
저자 : 최범균
출판 : 인투북스 2013.07.05
상세보기

OOP 설계 원칙을 알아도 경험없이 적재적소에 써먹기는 쉽지 않다.

그래서 패턴을 알고 비슷한 상황에 적용한다면 클래스 파일을 증식시켜서 더 복잡한 프로그램을 막을 수 있지 않을까?

(라고 생각한다... 출근하자마자 써먹어봐야겠다)

 

전략 패턴 (Stratege Pattern)

비슷한 코드를 실행하는 if-else 블록이 있다면 전략 패턴!

ex) 조건별로 할인가 적용 등등

 

템플릿 메서드(Template Method) 패턴

같은 기능을 여러군데서 사용하고 있다면 템플릿 메서드 패턴!

ex) DB와 LDAP에서 동시에 사용자 인증 기능이 필요할 경우, 결제 기능이 결제사 별로 동일하게 필요할 경우 등등

 

상태(State) 패턴

상태에 따라 기능이 다르게 동작해야 한다면 상태 패턴!

ex) if-else와 case문에서 적용 가능, 들어온 금액에 따라 다르게 반응해야할 때(들어온 금액이 없거나, 부족하거나, 초과하거나 등등)

 

데코레이터(Decorator) 패턴

기능 확장으로 클래스가 불필요하게 증가된다면 데코레이터 패턴!

 

프록시(Proxy) 패턴

필요한 순간에 실제 객체 생성해주면 가상 프록시

접근 권한이 있는 경우에만 실제 객체의 메서드를 실행하면 보호 프록시

다른 프로세스에 존재하는 객체에 접근할 때 사용되면 원격 프록시

(조금 더 학습이 필요한 패턴인듯...)

ex) 스크롤 할 때 이미지 불러올 때(?)

 

어댑터(Adapter) 패턴

인터페이스가 서로 일치하지 않을 때 사용할 수 있는 어댑터 패턴!

ex) SLF4J(로깅 API, 로깅 프레임워크와 SLF4J에서 제공하는 인터페이스를 맞추기 위해 어댑터 사용)

댓글