디자인패턴 : 과거 소프트웨어 개발과정에서 발견한 설계 노하우를 패턴으로 정리
디자인 패턴의 종류는 많지만 대표적인 4가지만 정리
1. 싱글톤 패턴
- 스프링의 IOC와 비슷.
- 인스턴스를 오직 1개만 생성하는 패턴.
- 예를들면 디비커넥션이나 스레드풀 객체를 생성할 때 사용합니다.
- 만드는 방법으로는 이른 초기화방식, 게으른 초기화방식, Holder에 의한 초기화방식이 있음.
2. 팩토리 메소드 패턴
- 스프링의 DI와 비슷.
- 자바 인터페이스(Factory를 이용해서 실제로 구현시키는 방식, 결합도를 낮출수 있다.
- 객체를 직접 생성하지 않고 객체를 생성하는 Factory객체를 사용하는 패턴.
3. 어댑터 패턴
- 스프링 DI와 비슷.
- 어댑터를 사용하여 호환되지 않는 인터페이스를 호환되도록 하는 패턴.
- 향후에 인터페이스가 변경되더라도 변경된 내용이 어댑터 안에 캡슐화되므로 수정할 필요가 없어짐.
4. 템플릿 메소드 패턴
- 상속을 통해 부모 클래스의 기능을 확장할때 사용하는 방법.
- 부모클래스에서 변하지 않는 기능을 구현해두고 자식클래스에서 확장할 기능을 구현하게 됨.
- 자바에서는 추상클래스를 사용해서 구현.
- 예를들어 Abstract Map클래스를 상속받아 구현된 HashMap과 TreeMap이있음. HashMap과 TreeMap은 서로 다른 자료구조를 가지지만 부모클래스인 Map의 기본정의인 키/밸류를 통한 기능은 공통적임.
REST API에 Under_Score(_)? Hyphen(-)? (0) | 2023.05.18 |
---|---|
[Git] commit 되돌리기 (0) | 2022.09.02 |
[객체지향프로그래밍] 다형성과 추상화 (0) | 2022.05.06 |
[객체지향프로그래밍] 객체, 캡슐화 (0) | 2022.04.28 |
[객체지향프로그래밍] 의존과 DI (0) | 2022.04.15 |