목록STUDY/디자인 패턴 (7)
공부해봅시당

1. FacadeFacade는 외관, 즉 건물의 출입구로 이용되는 정면 외벽 부분을 뜻하는 단어이다. 건축에서 Facade의 궁극적 목적은 `소통`이다.건물의 정면만 보더라도 건물이 어떤 목적을 하는지 단번에 알 수 있다는 것이다. 그래서 아래와 같은 특징을 가지게 된다. - 건축의 Facade는 사람들이 건물을 쉽게 인식하고 접근할 수 있도록 돕는다.- 건물의 Facade는 다양한 기능(문, 창문, 장식 등)을 통합적으로 보여주며 건물과 외부 세계 사이의 주요 접점 역할을 한다.- 건축에서 Facade는 건물의 기능과 성격을 외부에 전달하는 중요한 수단이다.- 건축의 Facade는 건물의 나머지 부분에 영향을 주지 않고도 변경할 수 있는 유연성을 제공한다. 2. Facade Pattern 등장2-1. ..

MVC와 MVP 구조 MVC와 MVP 동작 MVC와 MVP 특징, 장/단점 참고https://beomy.tistory.com/43 [디자인패턴] MVC, MVP, MVVM 비교웹 개발자로 일을 하면서 가장 먼저 접한 디자인패턴이 바로 MVC 패턴이었습니다. 그만큼 유명하고 많이 쓰이는 디자인패턴인 MVC 패턴과 MVC 패턴에서 파생되어져 나온 MVP 패턴과 MVVM 패턴을 이야beomy.tistory.comhttps://ykss.netlify.app/web/design_pattern/ [디자인패턴] mvc vs mvp vs mvvmMVC, MVVM 등 이러한 디자인 패턴 용어는 웹 개발을 하다보면 자연스럽게 알게되는 패턴이다. 이러한 패턴들은 화면에 보여주는 로직과 실제 데이터가 처리되는 로직을 분리..

이전에 이미 학습했던 내용이지만 CS 스터디를 위해 MVC 패턴에 대한 정리를 해보려고 함 MVC 패턴이란?MVC는 model, view, controller의 약자로, 소프트웨어 공학에서 사용되는 소프트웨어 디자인 패턴model: 애플리케이션의 정보(데이터)view: 텍스트, 체크박스 항목 등과 같은 사용자 인터페이스 요소controller: 비즈니스 로직 사이의 상호동작 관리패턴을 성공적으로 사용하면, 사용자 인터페이스로부터 비즈니스 로직을 분리하여 애플리케이션의 시각적 요소나 그 이면에서 실행되는 비즈니스 로직을 서로 영향 없이 쉽게 고칠 수 있는 애플리케이션을 만들 수 있음 핵심은 MVC 패턴을 사용하면 사용자 인터페이스로부터 비즈니스 로직을 분리하여 비즈니스 로직을 쉽게 고칠 수 있는 애플리케이..

의도전략 패턴은 알고리즘들의 패밀리를 정의하고, 각 패밀리를 별도의 클래스에 넣은 후 그들의 객체들을 상호교환할 수 있도록 하는 행동 디자인 패턴 문제여행자들을 위한 내비 앱을 만들기로 했다고 가정사용자들이 어느 도시에서든 빠르게 방향을 잡을 수 있도록 도와주는 아름다운 지도가 앱의 중심 기능 앱에서 가장 많이 요청된 기능 중 하나는 자동 경로 계획 기능사용자가 주소를 입력하면 지도에 표시된 해당 목적지로 가는 가장 빠른 경로를 볼 수 있는 기능 앱의 첫 번째 버전에서는 도로로 된 경로만을 만들 수 있었음차를 타고 여행하는 사용자들은 만족모든 사용자가 여가 중에 운전하는 걸 좋아하진 않았음따라서 도보 경로를 만드는 옵션을 추가바로 그다음에는 사람들이 경로에서 대중교통의 사용을 계획할 수 있도록 옵션을 ..

의도팩토리 메서드는 부모 클래스에서 객체들을 생성할 수 있는 인터페이스를 제공하지만, 자식 클래스들이 생성될 객체들의 유형을 변경할 수 있도록 하는 생성 패턴 문제물류 관리 앱을 개발하고 있다고 가정앱의 첫 번째 버전은 트럭 운송만 처리할 수 있어서 대부분의 코드가 Truck(트럭) 클래스에 있음 앱이 유명해지면서 매일 해상 물류 회사들로부터 해상 물류 기능을 앱에 추가해 달라는 요청을 수십 개씩 받기 시작했다고 가정 좋은 소식이지만 현재 대부분의 코드는 Truck 클래스에 결합되어 있음앱에 Ship(선박) 클래스를 추가하려면 전체 코드 베이스를 변경해야 함또한 차후 앱에 다른 유형의 교통수단을 추가하려면 아마도 다시 전체 코드 베이스를 변경해야 할 것 그러면 결과적으로 많은 조건문이 운송 수단 객체..

싱글톤이란?클래스에 인스턴스가 하나만 있도록 하면서 이 인스턴스에 대한 전역 접근(엑세스) 지점을 제공하는 생성 디자인 패턴 문제싱글톤 패턴은 한 번에 두 가지의 문제를 동시에 해결함으로써 단일 책임 원칙을 위반함 단일 책임 원칙(Single Responsibility Principle)객체는 단 하나의 책임만 가져야 한다는 원칙여기서 '책임' 이라는 의미는 하나의 '기능 담당'이라는 의미즉, 하나의 클래스는 하나의 기능 담당하여 하나의 책임을 수행하는데 집중되어야 있어야 한다는 의미 1. 클래스에 인스턴스가 하나만 있도록 함사람들이 클래스에 있는 인스턴스 수를 제어하려는 가장 일반적인 이유공유 리소스(ex. 데이터베이스 또는 파일) 일부에 대한 접근을 제어하기 위함예를 들어 객체를 이미 생성했지만, 잠..
디자인 패턴이란?디자인 패턴이란 소프트웨어 디자인 과정에서 자주 발생하는 문제들에 대한 일반적인 해결책들을 말한다.이는 코드에서 반복적으로 되풀이되는 디자인 문제들을 해결하기 위해 맞춤화할 수 있는 청사진들을 미리 만들어 놓은 것과 같다. 디자인 패턴의 특징표준화된 라이브러리들이나 함수들을 코드에 복사해 사용하는 것처럼 패턴들을 붙여넣기식으로 사용할 수 없음패턴은 재사용할 수 있는 코드 조각이 아니라 특정 문제를 해결하는 방식을 알려주는 일반적인 개념패턴의 세부 개념들을 적용하여 프로그램에 맞는 해결책을 구현할 수 있음 디자인 패턴과 알고리즘의 차이패턴은 알고리즘과 자주 혼동된다. 하지만 둘 사이의 명확한 차이가 존재한다. 공통점두 개념 모두 알려진 문제에 대한 일반적인 해결책을 설명 차이점알고리즘어떤 ..