본문 바로가기
728x90

designpattern4

디자인 패턴 (4) 1. MVC 패턴 - MVC 패턴은 모델, 뷰, 컨트롤러로 이루어진 디자인 패턴 - 애플리케이션의 구성 요소를 세 가지 역할로 구분하여 개발 프로세스에서 각각의 구성 요소에만 집중해서 개발할 수 있음 - 재사용성과 확장성이 용이하다는 장점 - 애플리케이션이 복잡해질수록 모델과 뷰의 관계가 복잡해지는 단점 - 모델 모델은 애플리케이션의 데이터인 DB, 상수, 변수 등을 말함 - 뷰 1. 뷰는 input, checkbox, textarea 등 사용자 인터페이스 요소를 말함 2. 변경이 일어나면 컨트롤러에 이를 전달 - 컨트롤러 1. 컨트롤러는 하나 이상의 모델과 하나 이상의 뷰를 잇는 다리 역할 2. 이벤트 등 메인 로직 담당 3. 모델과 뷰의 생명주기 관리 4. 모델이나 뷰의 변경 통지를 받으면 이를 해석.. 2023. 1. 6.
디자인 패턴 (3) 1. 프록시 패턴과 프록시 서버 - 프록시 패턴 프록시 패턴은 대상 객체에 접근하기 전 그 접근에 대한 흐름을 가로채 대상 객채 앞단의 인터페이스 역할을 하는 디자인 패턴 객체의 속성, 변환 등을 보완하며 보안, 데이터 검증, 캐싱, 로깅에 사용 이는 프록시 객체로 쓰이기도 하지만 프록시 서버로도 활용 * 프록시 서버에서의 캐싱: 캐시 안에 정보를 담아두고, 캐시 안에 있는 정보를 요구하는 요청에 대해 다시 저 멀리 있는 원격 서버에 요청하지 않고 캐시 안에 있는 데이터를 활용하는 것을 말한다. -> 불필요하게 외부와 연결하지 않기 때문에 트래픽을 줄일 수 있다는 장점이 있다. - 프록시 서버 프록시 서버는 서버와 클라이언트 사이에서 클라이언트가 자신을 통해 다른 네트워크 서비스에 간접적으로 접속할 수 .. 2023. 1. 4.
디자인 패턴 (2) 1. 전략 패턴 - 전략 패턴은 정책 패턴이라고도 한다. - 객체의 행위를 바꾸고 싶은 경우 직접 수정하지 않고 전략이라고 부르는 캡슐화한 알고리즘을 컨텍스트 안에서 바꿔주면서 상호 교체가 가능하게 만든느 패턴 - Java의 전략 패턴 예시 public class HelloWord { public static void main(String[] args) { ShoppingCart cart = new ShoppingCart(); Item A = new Item("item1", 100); Item B = new Item("item2", 200); cart.addItem(A); cart.addItem(B); // pay by A Card cart.pay(new ACard("test@email.com", "hi.. 2023. 1. 3.
디자인 패턴 (1) 1. 개념 - 디자인 패턴이란 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 '규약' 형태로 만들어 놓은 것 2. 싱글톤 패턴 - 싱글톤 패턴은 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴 - 하나의 클래스를 기반으로 여러 개의 개별적인 인스턴스를 만들 수 있지만, 그렇게 하지 않고 하나의 클래스를 기반으로 단 하나의 인스턴스를 만들어 이를 기반으로 로직을 만드는 데 쓰이며, 보통 데이터베이스 연결 모듈에 많이 사용 - 하나의 인스턴스를 만들어 놓고 해당 인스턴스를 다른 모듈들이 공유하며 사용하기 때문에 인스턴스를 생성할 때 드는 비용이 줄어드는 장점이 있지만, 의존성이 높아진다는 단점이 있음 - JS에서 싱글톤 패턴 예시 const obj .. 2023. 1. 2.
728x90