MVC 패턴(MVC Pattern)이란? Model(모델), View(뷰), Controller(컨트롤러)로 이루어진 패턴이다. 애플리케이션의 구성 요소를 세 가지 역할로 구분하여 개발 프로세스에서 각각의 구성 요소에만 집중해서 개발할 수 있다. MVC 패턴의 장단점 장점 재사용성과 확장성이 용이하다. 단점 애플리케이션이 복잡해질수록 모델과 뷰의 관계가 복잡해진다. MVP 패턴(MVP Pattern)이란? MVC 패턴으로부터 파생되었으며 MVC의 C가 Presenter(프레젠터)로 바뀐 패턴이다. 뷰와 프레젠터는 일대일 관계이기 때문에 MVC 패턴보다 더 강한 결합을 지닌다고 볼 수 있다. MVVM 패턴(MVVM Pattern)이란? MVC의 C가 View Model(뷰 모델)로 바뀐 패턴이다. 뷰 모델..
반복자 패턴(Iterator Pattern)이란? 반복자를 사용하여 컬렉션의 요소들에 접근하는 패턴이다. 순회할 수 있는 여러 가지 자료구조와 상관 없이 반복자라는 하나의 인터페이스로 순회가 가능하다. 노출 모듈 패턴(Revealing Module Pattern)이란? 즉시 실행 함수를 통해 private, public과 같은 접근 제어자를 만드는 패턴이다. 자바스크립트의 경우 private, public 같은 접근 제어자가 존재하지 않기 때문에 노츌 모듈 패턴을 통해 private와 public을 구현하기도 한다. Reference http://www.yes24.com/Product/Goods/108887922
프록시 패턴(Proxy Pattern)이란? 대상 객체에 접근하기 전에 그 접근에 대한 흐름을 가로채 대상 객체 앞단의 인터페이스 역할을 하는 패턴이다. 이를 통해 객체의 속성과 변환 등을 보완하며 보안, 데이터 검증, 캐싱, 로깅에 사용한다. 프록시 객체나 프록시 서버로도 활용된다. 프록시 서버 서버와 클라이언트 사이에서 클라이언트가 자신을 통해 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해주는 것이다. 프록시 서버의 장점 캐싱 클라이언트의 요청을 원격 서버가 아닌 프록시 서버에서 캐시 데이터를 응답한다. 이는 불필요하게 외부와 연결하지 않기 때문에 트래픽을 줄일 수 있다. 프록시 서버의 예시 Nginx 비동기 이벤트 기반의 구조와 다수의 연결을 효과적으로 처리 가능한 웹 서버이며, 주로 Nod..
옵저버 패턴(Observer Pattern)이란? 주체가 어떤 객체(subject)의 상태 변화를 관찰하다가 상태 변화가 있을 때 마다 옵저버들에게 변화를 알려주는 패턴이다. 즉 주체란 객체의 상태 변화를 관찰하는 관찰자이며, 옵저버들이란 이 객체의 상태 변화에 따라 메시지를 전달 받는 객체를 의미한다. 또한 객체와 주체가 합쳐져 객체의 상태가 변할 때 마다 스스로 옵저버들에게 메시지를 전달할 수도 있다. 옵저버 패턴을 활용한 서비스로 트위터가 있다. 주체를 팔로우했다면 주체가 포스팅을 할 때 마다 팔로워들에게 알림이 간다. 옵저버 패턴은 주로 이벤트 기반 시스템에 사용하며 MVC 패턴에도 사용된다. 예를 들어 주체(Model)에서 변경이 생기면 옵저버(View)에 알려주고 이를 기반으로 Controll..
전략 패턴(Strategy Pattern)이란? 객체의 행위를 바꾸고 싶은 경우, 직접 수정하지 않고 전략이라고 부르는 캡슐화한 알고리즘을 컨텍스트 안에서 바꿔주면서 상호 교체가 가능하게 만드는 패턴이다. 예를 들어 결제를 할 때 네이버 페이, 카카오 페이 등 다양한 방법으로 결제하듯이 결제 방식의 전략만 바꿔서 두 가지 방식으로 결제하는 것과 같다. 정책 패턴(Policy Pattern)이라고도 한다. 전략 패턴의 장단점 장점 컨텍스트 코드 변경 없이 새로운 전략을 추가할 수 있다. 단점 분리된 전략들이 어느 상황에 사용되는지 알고 있어야 한다. 자바에서의 전략 패턴 장바구니에 담긴 아이템을 KAKAOCard 또는 LUNACard 두 개의 전락으로 결제할 수 있다. import java.util.Arr..
팩토리 패턴(Factory Pattern)이란? 객체를 사용하는 코드에서 객체 생성 부분을 떼어내 추상화한 패턴이다. 상속 관계에 있는 두 클래스에서 상위 클래스가 중요한 뼈대를 결정하고, 하위 클래스에서 객체 생성에 관한 구체적인 내용을 결정하는 패턴이다. 핵심 개념은 추상화와 다형성이다. 팩토리 패턴의 장단점 장점 상위 클래스와 하위 클래스가 분리되기 때문에 느슨한 결합을 가질 수 있다. 상위 클래스에서는 인스턴스 생성 방식에 대해 전혀 알 필요가 없기 때문에 유연하다. 객체 생성 로직이 분리되어 있어서 유지 보수에 유리하다. 단점 다른 타입의 객체가 필요할 때 마다 하위 클래스가 추가되어야 한다. 자바에서의 팩토리 패턴 abstract class Coffee { public abstract int ..
싱글톤 패턴(singleton pattern)이란? 하나의 클래스에 오직 하나의 인스턴스만을 가지는 패턴이다. 보통 데이터베이스 연결 모듈에 많이 사용된다. 싱글톤 패턴의 장단점 장점 하나의 인스턴스를 만들어 놓고 해당 인스턴스를 다른 모듈들이 공유하며 사용하기 때문에 인스턴스를 생성할 때 드는 비용이 줄어든다. 단점 의존성이 높아진다. -> 의존성 주입을 통해 모듈 간의 결합도를 낮출 수 있다. 단위 테스트를 할 때 각 테스트마다 독립적인 인스턴스를 만들기 어렵다. 자바에서의 싱글톤 패턴 class Singleton { private static class singletonInstanceHolder { private static final Singleton INSTANCE = new Singleton(..
- Total
- Today
- Yesterday
- 스프링 R2DBC
- 코틀린
- 프로그래밍 패러다임
- 스레드
- 프로그래밍
- 직접매핑
- 자바
- 세컨더리인덱스
- 선언형 프로그래밍
- 메모리 계층
- 보이스코드정규형
- 클러스터형인덱스
- Design Pattern
- 프로세스와 스레드
- 연관매핑
- 스프링 WebFlux
- 프로세스
- 직접연관매핑
- 대수확장성
- 인덱스최적화
- 불연속할당
- 중첩루프조인
- 캐시매핑
- java
- 정렬병합조인
- 네트워크 기초
- 네트워크
- 디자인 패턴
- 프로세스 컴파일
- 함수형 프로그래밍
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |