-
[디자인패턴] 싱글톤 패턴 - 라이브러리, 프레임 워크, 디자인패턴, 싱글톤 패턴, 팩토리 패턴CS/디자인 패턴 2023. 1. 16. 12:29
라이브러리 프레임워크 공통점 공통으로 사용될 수 있는 특정한 기능들을 모듈화 한 것 폴더명, 파일명 등 규칙 없음 있음 자유도 free sticky 디자인 패턴이란?
프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 "규약" 형태로 만들어 놓은 것을 의미
종류는 아래와 같다.
- 싱글톤 패턴
- 팩토리 패턴
- 전략 패턴
- 옵저버 패턴
- 프록시 패턴과 프록시 서버
- 이터레이터 패턴
- 노출모듈 패턴
- MVC 패턴
- MVP 패턴
- MVVM 패턴
싱글톤 패턴
하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴
보통 DB 연결 모듈에 많이 사용한다.
장점 :
1. 사용하기 쉽고 실용적이다.
2. 인스턴스를 사용할 때 드는 비용이 줄어든다.
단점 :
1. 의존성이 높아진다.
2. TDD(Test Driven Development)할 때 단위 테스트를 주로 하는데 독립적인 인스턴스를 생성하기 어렵다.
3. 모듈간의 결합을 강하게 만든다.
→ 의존성 주입(DI)를 통해 모듈간의 결합을 느슨하게 만들어서 해결
팩토리 패턴
객체를 사용하는 코드에서 객체 생성 부분을 떼어내 추상화한 패턴
상속 관계에 있는 두 클래스에서 상위 클래스가 중요한 뼈대를 결정하고,
하위 클래스에서 객체 생성에 관한 구체적인 내용을 결정하는 패턴
장점 :
1. 느슨한 결합이며 상위 클래스에선느 유연성을 갖게 된다.
2. 리팩토링할 때 유리하여 유지 보수성이 있다.
더보기enum
상수의 집합을 정의할 때 사용되는 타입이다. 상수나 메소드 등을 집어넣어서 관리하며 코드를 리팩토링할 때 해당 집합에 관한 로직 수정 시 이부분만 수정하면 되므로 코드 리팩토링 강점을 가진다.
enumerated type의 줄임말이다. 자바스크립트에서는 정의되어 있지 않고 자바에서 제공한다.
열거체의 정의 및 사용
자바에서는 enum 키워드를 사용하여 열거체를 정의할 수 있습니다.
문법예제enum 열거체이름 { 상수1이름, 상수2이름, ... }
enum Rainbow { RED, ORANGE, YELLOW, GREEN, BLUE, INDIGO, VIOLET }
'CS > 디자인 패턴' 카테고리의 다른 글
[디자인패턴] 프록시 패턴, 프록시 서버 (0) 2023.01.19 [디자인패턴] 전략 패턴, 옵저버 패턴,상속,구현,프록시 객체,옵저버,Dom,주체 (0) 2023.01.17