본문 바로가기
728x90

Programming/Design Pattern3

PRG 패턴 (Post-Redirect-Get)이란? PRG(Post-Redirect-Get) 패턴은 웹 개발 시 권장되는 디자인 패턴중 하나로, HTTP POST 요청에 대한 응답이 또 다른 URL로의 GET 요청을 위한 리다이렉트(응답 코드가 3XX)여야 한다는 것을 의미한다. 즉, 일반적인 HTTP GET 요청처럼 HTTP POST 요청에 대한 응답이 어떠한 페이지를 직접 반환하는 것은 권장되지 않는 위험한 방식이라는 것이다. ● PRG 패턴의 필요성 PRG 패턴을 사용하지 않는 다면, 대표적으로 다음과 같은 두가지 문제점이 발생할 수 있다. 첫째, 새로고침으로 인해 동일한 HTTP POST 요청이 중복으로 발생하여 의도치 않은 결과를 낳을 수 있다. 만약 HTTP POST 요청에 대한 응답이 단순히 어떠한 페이지를 직접 반환하는 것이라면, 이후 새로.. 2022. 10. 31.
MVC 패턴(Model-View-Controller)이란? ● MVC 패턴 - MVC(Model-View-Controller)는 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 디자인 패턴이다. - 비지니스 로직과 화면을 구분하는데 중점을 두고있다. - 이러한 관심사 분리는 더 나은 업무의 분리와 향상된 유지보수 관리를 제공한다. ● 모델(Model) : 데이터와 비지니스 로직을 관리한다. ● 뷰(View) : 레이아웃과 화면을 처리한다. ● 컨트롤러(Controller) : 명령을 모델과 뷰 부분으로 라우팅한다. 모델 뷰 컨트롤러 예시 위와 같이 쇼핑 리스트 앱이 있다고 가정해보자. 우리가 원하는 것은 이번 주에 사야할 각 항목의 이름, 개수, 가격의 목록이다. MVC를 사용해 일부를 구현해보자면 아래와 같이 설명할 것이다. ● 모델 - 모.. 2022. 10. 29.
싱글톤 패턴(Singletone Pattern)이란? ● 싱글톤이란 클래스의 인스턴스가 딱 한개만 생성되는 것을 보장하는 디자인 패턴이다. 생성자의 호출이 반복적으로 이루어져도 실제론 생성되는 객체는 최초 생성된 객체를 반환한다. public class Singletone { private static Singletone singletone; private Singletone() {} public static Singletone getInstance() { if (singletone == null) { singletone = new Singletone(); } return singletone; } } 위 코드는 간단한 싱글톤 예제이다. Singleton이라는 클래스가 있고 private static을 사용하여 최초로 메모리를 한번만 할당한다. 이는 getI.. 2022. 10. 29.
728x90