디자인 패턴
- 자주 사용하는 설계 패턴을 정형화해 유형별로 가장 최적의 방법으로 개발을 할 수 있도록 정해둔 설계
- 프로젝트 상황에 맞춰 적용 가능
Gof 디자인 패턴
- 객체지향 개념에 따른 설계중 재사용할 경우 유용한 설계를 디자인 패턴으로 정해 둔 것
- 디자인 패턴 장점
- 개발자간의 원활한 소통
- 소트프웨어 구조 파악 용이
- 재사용을 통한 개발 시간 단축
- 설계 변경 요청에 대한 유연한 대처
- 디자인 패턴 장점
- 객체지향 설계 / 구현
- 초기 투자 비용 부담
- 생성 패턴
- 객체를 생성하는 것과 관련
- 객체의 생성과 변경이 전체 시스템에 미치는 영향을 최소화, 코드의 유연성을 높여줌
- Factory Method
- Singleton
- Prototype
- Builder
- Abstract Factory
- Chaining
- 구조 패턴
- 프로그램 내의 자료구조나 인터페이스 구조 등 프로그램 구조를 설계하는데에 활용
- 클래스, 객체들의 구성을 통해 큰 구조를 만들 수 있음
- 큰 규모의 시스템에서는 많은 클래스들이 서로 의존성을 가지게 되는데, 복잡한 구조를 개발 하기 쉽게 만들어줌
- 유지보수 쉬움
- Adapter
- Composite
- Bridge
- Decorator
- Facade
- Flyweight
- Proxy
- 행위 패턴
- 반복적으로 사용되는 객체들의 상호작용을 패턴화 한 것
- 행위 관련 패턴을 사용해 독립적으로 일을 처리하고자 할때 사용
- Template Method
- Interpreter
- Iterator
- Observer
- Strategy
- Visitor
- Chain of responsibility
- Command
- Mediator
- State
- Memento
- Singleton pattern (싱글톤)
Singleton 패턴은 어떠한 클래스 (객체)가 유일하게 1개만 존재 할 때 사용
서로 자원을 공유 할 때 사용
TCP Socket 통신에서 서버와 연결된 connect 객체에 주로 사용
스프링 bean 클래스 (객체)에 사용됨
- Adapter pattern (어댑터)
호환성이 없는 기존 클래스의 인터페이스를 변환하여 재사용 할 수 있도록 함
SOLID 중에서 개방폐쇄 원칙 (OCP)를 따름
- Proxy pattern (프록시)
대리인이라는 뜻으로, 대신해서 처리하는 것
대신 전달 하는 형태로 설계되며, 실제 클라이언트는 Proxy로 부터 결과를 받음
캐시의 기능으로도 활용 가능
SOLID 중 개방폐쇄 원칙 (OCP) 과 의존역전 원칙 (DIP)를 따름
feat. 패캠 - Java/Spring 웹 개발 마스터 초격차 패키지
'기술면접 > 자바, 객체지향, 스프링' 카테고리의 다른 글
자바, 객체지향, 스프링 (1) | 2023.12.26 |
---|