카테고리 없음

디자인 패턴

Yuco 2023. 3. 7. 19:02

 

디자인 패턴(Design Pattern)

 

- 아키텍처 설계 수준보다 낮은 수준의 설계 문제에 재사용 가능한 솔루션 제공

- 최상위 설계가 아키텍처 패턴, 디자인 패턴은 아키텍처 패턴보다 더 하위 수준의 설계

 

1. 싱글턴 패턴(Singleton Pattern)

1) 해당 클래스의 인스턴스가 하나만 만드러지고, 어디서든지 그 인스턴스에 접근할 수 있도록 하기 위한 패턴 (바깥에서 사용하려면 setter, getter을 사용해서만 가능하게 만드는 것)

  • 생성자의 접근 지정자를 private로 함
  • private하게 자신의 객체가 생성되도록 함
  • 생성된 객체를 가져다 쓸 수 있는 getter을 만듦 

 

2. 템플릿 메서드 패턴 (Template Method Pattern)

1) abstract 

2) 알고리즘의 골격만 정의하고 각 단계에 대한 구체적인 처리는 서브 클래스에게 위임하는 패턴

3) 템플릿 메서드는 '알고리즘에서 불변적인 부분은 한 번만 구현하고 가변적인 동작은 서브 클래스에서 구현할 수 있도록 남겨둔 것'을 말함

 

3. MVC 패턴(Model-Veiw-Controller)

* 면접을 볼 때 패턴의 목적을 먼저 얘기하고, 그 역할에 대해서 설명하기!

 

1) 소프트웨어를 각각 Model-View-Controller로 구분하여 개발하는 방법

  • Model: 어플리케이션의 데이터, 정보를 나타냄 (VO: Value Object, DAO:Database Access Object)
  • View: UI(User Interface) 부분을 담당 (HTML, JSP, JSF, Thymeleaf)
  • Controller: Model과 View를 제어하는 역할 (Servlet, Spring Controller)

2) 목적

  • 개발의 역할 분리 (동시적 개발 가능)
  • 코드의 재사용