ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [디자인패턴] 싱글톤 패턴 - 라이브러리, 프레임 워크, 디자인패턴, 싱글톤 패턴, 팩토리 패턴
    CS/디자인 패턴 2023. 1. 16. 12:29
      라이브러리 프레임워크
    공통점 공통으로 사용될 수 있는 특정한 기능들을 모듈화 한 것
    폴더명, 파일명 등 규칙 없음 있음
    자유도 free sticky

    디자인 패턴이란?

    프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 "규약" 형태로 만들어 놓은 것을 의미

    종류는 아래와 같다.
    1. 싱글톤 패턴
    2. 팩토리 패턴
    3. 전략 패턴
    4. 옵저버 패턴
    5. 프록시 패턴과 프록시 서버
    6. 이터레이터 패턴
    7. 노출모듈 패턴
    8. MVC 패턴
    9. MVP 패턴
    10. 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 }

Designed by Tistory.