728x90 분류 전체보기163 [Java 언어로 배우는 디자인 패턴 입문] 인스턴스 만들기 8. Abstract Factory 출처 : 책 - java 언어로 배우는 디자인 패턴 입문 8. Abstract Factory - 복잡한 인스턴스 조립하기 1. 목적 - 부품 인스턴스'들'의 생성을 하위 클래스로 넘긴다. > 즉 부품보다 부품의 조립에 집중할 수 있게된다. - 인스턴스가 1개만 있으면 팩토리 메소드 디자인패턴으로 처리해도 된다. > 예시) 키보드 인터페이스에 LG 키보드 or 삼성 키보드 할당 - 하지만 인스턴스가 여러개인 경우는 인스턴스들을 감싼 팩토리를 만들어 인스턴스들을 한꺼번에 생성한 후 팩토리를 할당한다. > 예시) 키보드 - 삼성 or LG 할당 , 마우스 - 삼성 or LG 할당 (X) 컴퓨터 - 삼성 or LG 컴퓨터 할당(해당 브랜드 마우스, 키보드 생성은 컴퓨터 인스턴스 안에서 처리) (O) - 이렇게 .. 2021. 1. 9. [Java 언어로 배우는 디자인 패턴 입문] 인스턴스 만들기 7. Builder 출처 : 책 - java 언어로 배우는 디자인 패턴 입문 7. Builder - 복잡한 인스턴스 조립하기 1. 목적 - 생성 기능을 갖는 클래스(Builder)와 동작하는 클래스(Director)를 분리 한다. - 의도 : 동작 클래스에 생성 클래스를 주입해준 후 따로 필요한 인스턴스들을 생성하고 동작클래스를 사용한다. > Builder 패턴은 하나의 군에 대한 생성하는 정보(Builder 클래스)를 감추는 느낌도 있다. (출처: https://hamait.tistory.com/869 [HAMA 블로그]) 2. 예제 (1) Director - 동작 클래스 public class Director { private Builder builder; public Director(Builder builder) { .. 2021. 1. 8. [Java 언어로 배우는 디자인 패턴 입문] 인스턴스 만들기 6. Prototype 출처 : 책 - java 언어로 배우는 디자인 패턴 입문 6. Prototype - 복사해서 인스턴스 만들기 1. 목적 - 인스턴스를 생성이 아닌 생성돼 있는 인스턴스를 복사한다. 1. 비슷한 클래스를 많이 정의해야 할 경우. 클래스 복사와 변수를 통해 대체 2. 클래스로부터 인스턴스 생성이 어려울 경우 > 예를 들어 사용자가 조작하고 있던 도 중 그 순간을 인스턴스로 만들어야 할 때 3 . framework와 생성하는 인스턴스를 분리하고 싶은 경우 > 클래스 이름을 직접적으로 사용하지 않는다. 인스턴스를 만드는 메소드가 반환한 인스턴스를 인터페이스로 받는다. cf) 클래스 이름이 왜 속박인가 - 클래스를 재이용할 수 없게 된다. 인터페이스를 사용하면 다른 인스턴스를 연결하여 재사용 할 수 있다. - J.. 2021. 1. 8. [Java 언어로 배우는 디자인 패턴 입문] 인스턴스 만들기 5. Singleton 출처 : 책 - java 언어로 배우는 디자인 패턴 입문 5. Singleton - 인스턴스를 한 개만 만들기 1. 목적 - 문자열 "abc" 1개당 1개의 인스턴스이다. 문자열이 1000개면 1000개의 인스턴스가 만들어진다. - 컴퓨터 1개, 공통 시스템 설정 등 인스턴스가 단 한 개만 필요할 때 사용한다. 물론 new 를 1번만 쓰면 되지만 실수라는 것이 있기에 보증할 수 없다. - 방법 : 1. 생성자를 private로 선언 2. static 메소드를 통한 인스턴스 반환 - 복수의 인스턴스는 서로 영향을 미쳐 뜻하지 않은 버그가 발생할 가능성이 있다. > 스프링같은 프레임워크에서 어노테이션으로 빈 등록을 하면 싱글톤으로 생성된다. 메모리 낭비를 줄이고 혹시모를 버그를 없애기 위함이 아닐까 생각해본.. 2021. 1. 7. 이전 1 ··· 25 26 27 28 29 30 31 ··· 41 다음 728x90