전체 방문자
오늘
어제
이대코
ServerNeverDown
이대코
  • 분류 전체보기 (110)
    • Project (9)
      • GASIP_대학 커뮤니티 (5)
      • CATCHROOM_야놀자중고숙박거래 (2)
      • CANCER-FINE_암환자를 위한 정보 제공 사.. (2)
    • Development (46)
      • Python (9)
      • Java (8)
      • Kotlin (1)
      • Spring&Springboot (4)
      • BootCamp (10)
      • DevOps (1)
      • TrobleShooting (6)
      • Network (1)
      • DataBase (2)
      • OS (1)
      • Design Pattern (2)
    • Coding Test (52)
      • BOJ (1)
      • DFS,BFS (4)
      • 그리디 알고리즘 (6)
      • Dynamic Programming (2)
      • 이진 탐색 (0)
      • 초보자를 위한 파이썬 300제 (29)
      • 구현 (10)
    • Stock (3)
      • Market View (2)
      • Analysis of stocks (0)
      • Knowledge (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 글쓰기

인기 글

hELLO · Designed By 정상우.
이대코

ServerNeverDown

[디자인 패턴] 디자인 패턴이란??
Development/Design Pattern

[디자인 패턴] 디자인 패턴이란??

2024. 2. 19. 19:28

1. 디자인 패턴이란??(What?)

일종의 설계 기법이며 설계 방법을 의미한다.

 

2. 디자인 패턴을 쓰는 이유(Why?)

디자인 패턴을 사용함으로써 SW재사용성, 유지 보수성이 보장되기 때문이다.

디자인 패턴은 구현을 위한 일종의 아이디어로, 프로젝트에 항상 적용해야하는 것은 아니지만 추후 발생 가능한 문제를 예방하기 위한 패턴을 만들어 둔 것이다.

즉, 각 디자인 패턴들은 특정한 문제를 해결하기 위해, 또는 예방하기 위해 등장한 것

 

3. 디자인 패턴의 분류

1) 생성 패턴

객체의 생성 방식을 결정하는 패턴이다.

예시로 DB의 커넥션풀을 관리하는 로직을 짠다할 때, DB 커넥션을 관리하는 인스턴스를 하나만 만들도록 제한하여 중복되는 인스턴스 생성을 방지하는 것이다.(싱글톤 패턴,팩토리 메서드 패턴 등)

이를 방지함으로써 메모리 활용에 효율성을 확보할 수 있다.

2) 구조 패턴

객체간의 관계를 이어주거나 호환하기 위한 패턴이다.

예를 들어 2개의 인터페이스가 서로 호환이 안될 때, 둘을 연결하기 위해 새로운 클래스를 만들어 연결할 수 있다.(어댑터 패턴)

아이폰에 줄 이어폰을 연결하기 위해선 특정 어댑터가 필요한 것이랑 같은 원리이다.

3) 행위 패턴

객체의 행위를 조직하고 관리하는 패턴이다.

예를 들어 자바의 부모 클래스에서 자식 클래스가 구현해야하는 함수 등을 미리 선언하는 것이다.

저작자표시 비영리 변경금지 (새창열림)

'Development > Design Pattern' 카테고리의 다른 글

디자인 패턴의 종류  (4) 2024.02.26
    'Development/Design Pattern' 카테고리의 다른 글
    • 디자인 패턴의 종류
    이대코
    이대코
    20대에 대장암 걸린 코틀린/자바 백엔드 개발자의 블로그입니다.

    티스토리툴바