아키텍처 패턴 / 디자인 패턴

@t189216·2024년 1월 14일
0

💻 CS

목록 보기
3/36

디자인 패턴(Design Pattern)은 작은 요소(기능)에 포커스를 맞추고 해결하려는 패턴이고,

아키텍쳐 패턴(Architecture Pattern)은 그보다는 더 큰 개념으로써, 어플리케이션 전반, 즉 어플리케이션을 이루는 요소들에 대한 상호관계/흐름(workflow)에 포커스를 맞추고 더 적합하고 나은 구조/체계를 위한 패턴이다.

프로그램을 좀 더 효율적으로 만들기 위한 모델/패턴이라고 이해하면 된다.

🌐 참고 블로그

디지인 패턴


MVC 패턴

https://velog.io/@tus0926/MVC

모델(Moder), 뷰(view), 컨트롤러(controller) 로 이루어져있다.

컴포넌트를 독립적으로 개발될 수 있다. 각 컴포넌트가 명확한 역할을 가지고 있기 때문에 가독성이 좋아지고, 가독성이 좋다는건 개발자들 사이에서 코드의 이해를 좋게 하기 때문에 협업에 좋다.

싱글톤

Singleton 패턴은 객체의 생성과 관련된 패턴으로서 특정 클래스의 객체가 오직 한 개만 존재하도록 보장한다. 즉 클래스의 객체를 하나로 제한한다.

① 유일한 인스턴스

  • 싱글톤 패턴은 클래스의 인스턴스를 하나만 생성
  • 이로써 해당 클래스의 인스턴스에는 전역적으로 접근할 수 있으며, 어디서든 동일한 인스턴스에 접근가능

② 공유 리소스

  • 싱글톤 패턴은 인스턴스를 공유하는 방식으로 동작
  • 따라서, 여러 개의 객체가 동일한 리소스를 공유해야 할 때 유용하게 사용될 수 있음

③ 단일 지점 제어

  • 싱글톤 패턴은 인스턴스를 하나만 생성하므로, 해당 인스턴스에 대한 생성과 관리를 단일 지점에서 제어가능
  • 이는 리소스의 낭비를 줄이고 일관성을 유지하는 데 도움을 줌

🌐 참고 블로그

추상 팩토리 패턴 ( 생성 패턴 )

추상 팩토리 패턴은 관련성 있는 객체들의 그룹을 생성하기 위한 인터페이스를 제공하는 디자인 패턴입니다. 이 패턴은 객체를 생성하는 데 필요한 로직을 캡슐화하여 코드의 유연성과 확장성을 향상시키며, 구체적인 클래스의 인스턴스 생성을 서브 클래스에 위임합니다.

🌐 참고 블로그

전략 패턴

전략 패턴(Strategy Pattern)은 알고리즘을 정의하고 각각을 캡슐화하여 교환 가능하게 만드는 디자인 패턴입니다. 이 패턴을 사용하면 알고리즘을 사용하는 클라이언트와는 독립적으로 알고리즘을 선택하고 교환할 수 있습니다. 전략 패턴은 특히 런타임에 알고리즘을 선택해야 하는 경우에 유용합니다.

🌐 참고 블로그

파사드

파사드 패턴은 여러 개의 저수준 인터페이스를 하나의 고수준 인터페이스로 묶어주는 패턴이다. 클라이언트가 여러 저수준 인터페이스의 동작을 제어하려면 여러 저수준 인터페이스를 일일이 호출해야 하는데, 파사드 패턴을 이용하면 고수준 인터페이스의 메소드 호출만으로 한번에 동작을 수행할 수 있게 된다.

🌐 참고 블로그

옵저버

옵저버 패턴은 객체 간의 일대다 의존 관계를 정의하여 한 객체의 상태가 변경될 때 모든 의존 객체에 자동으로 알림을 전송하고, 그 결과로써 모든 객체가 자동으로 갱신되는 방식을 제공합니다. 이 패턴은 특히 분산 시스템에서 많이 사용되며, 이벤트 처리 시스템, 리스너 패턴, 발행-구독 시스템 등에서도 활용됩니다.

🌐 참고 블로그


profile
Today I Learned

0개의 댓글