Backend

·Backend/Java
“코딩으로 학습하는 GoF의 디자인 패턴” 강의를 보며 간략하게 정리한 내용입니다. 프로토타입(Prototype) 패턴이란? 객체 생성을 위해 클래스에서 인스턴스를 생성하는 대신, 기존에 생성된 객체를 복제하여 새로운 객체를 생성하는 패턴 Object 의 clone() 메서드를 통해 구현할 수 있다 clone() 조건 x.clone() ≠ x // 다른 인스턴스가 새로 만들어진거라 같지 않음 x.clone().getClass() == x.getClass() x.clone().equals(x) // 데이터는 같기 때문에 true Cloneable 인터페이스를 구현해야함 프로토타입 패턴을 사용하는 이유 동일한 작업을 반복하지 않아도 됨(리소스 소모가 심한 작업일 경우 복제해 사용하면 이득을 볼 수 있음) D..
·Backend/Java
빌더(Builder) 패턴이란? 빌더(Builder) 패턴은 객체를 생성하는 과정을 단순화하기 위한 디자인 패턴 Builder에 인스턴스 생성방법을 스탭 별로 만들어 놓은 인스턴스를 정의하고, 최종적으로 인스턴스를 받아올 수 있는 getXXX(); 라는 메서드를 구현하는 구현체를 만들어 객체를 생성하는 방법 빌더 패턴을 사용하는 이유 필요한 데이터만 설정 가능하다 유연성을 확보할 수 있다 가독성을 높인다 변경 가능성을 최소화할 수 있다 빌더패턴을 사용하는 이유와 구현 코드를 알아보자 예제 코드 예행 계획을 만드는 여행계획 클래스가 있다 public class 여행계획 { private String title; //여행 이름 private int nights; // 몇박 private int days;//..
·Backend/Java
팩토리 메서드 패턴과 추상 팩토리 패턴 차이점 추상 팩토리(Abstract factory) 패턴이란? 관련있는 여러 객체를 만들어주는 추상화된 형태로 정의한 인터페이스 팩토리 메서드 패턴과 굉장히 흡사하지만 팩토리를 사용하는 클라이언트가 추가된 패턴 예제 코드 이전 팩토리 메서드에서 Soju 클래스에 Design 클래스가 추가되었다고 가정한다면 public class Soju { private String name; private Design design; public Design getAddress() { return design; } public void setAddress(Design design) { this.design = design; } public String getName() { retu..
·Backend/Java
팩토리 메서드(Factory method) 패턴 이란? 팩토리 메서드 패턴은 디자인 패턴 중 하나로, 객체지향 설계에서 자주 사용됨 객체 생성에 대한 책임을 서브 클래스로 분리하여 유연성을 높이는 것 인터페이스 안에 기본적인 구현이 있고, 구현부 중에 일부 바뀌어야 하는것 들을 추상 메서드로 분리해 하위 클래스에서 만드는것 기본적인 팩토리 메소드 패턴 예제 1.팩토리 인터페이스 정의 public interface SojuFactory { default Soju orderSoju() { Soju soju = createSoju(); return soju; } Soju createSoju(); } public class Soju { private String name; public String getName..
·Backend/Java
자바 싱글톤(Singleton) 패턴 싱글톤 패턴이란? 인스턴스를 오직 한개만 제공하는 클래스 조건 인스턴스를 오직 하나만 만들어야함 인스턴스에 글로벌하게 접근할 수 있는 방법을 제공해야함 싱글톤 패턴을 사용하는 이유 인스턴스가 오직 하나만 있을 때 유용하게 사용할 수 있음 여러 번 생성하지 않아 자원을 절약할 수 있음 글로벌 변수 사용을 줄이고, 코드를 관리하기 편해짐 예제 코드 public static void main(String[] args) { 클래스 클래스1 = new 클래스(); 클래스 클래스2 = new 클래스(); System.out.println(클래스1 == 클래스2); // false } 이렇듯 new 클래스();를 사용해 객체를 만들면 싱글톤 패턴을 만족할 수 없다. 그렇다면 ne..
·Backend/JSP
Redirect 방식 새로운 요청이 발생하므로 웹브라우저 주소표시줄의 URL 이 변경됨 (= 포워딩 될 새로운 주소로 바뀜) 새로운 요청에 의해 새 request 객체가 생성되므로 이전 페이지에서 사용한 request 객체의 속성값이 유지되지 않음 (= 이전 페이지의 request 객체에 접근 불가능) => 포워딩 방법 : response 객체의 sendRedirect() 메서드를 호출하여 포워딩 할 페이지를 파라미터로 전달 response.sendRedirect("main.jsp"); Dispatcher 방식 웹브라우저 주소표시줄의 URL 이 변경되지 않은 채로 요청을 수행 => 이전의 요청 URL 이 새 페이지로 포워딩 될 때도 그대로 유지됨 (즉, 주소 변경 없이 새로운 페이지로 이동) 이전 페이지..
dami97
'Backend' 카테고리의 글 목록 (4 Page)