92. 디자인 패턴 7

04. 자바 빌더 패턴 (JAVA Builder Pattern)

# 참고한 영상 & 사이트 자바 디자인 패턴 이해 - YouTube Gof Design Pattern을 자바 언어로 설명한 강의. 의미 있고 쉬운 예제를 준비하려고 노력했습니다. '좋아요'/'구독' 부탁 드립니다. www.youtube.com 빌더 패턴(Builder Pattern) 객체의 생성 방법과 표현 방법을 분리한다 johngrib.github.io # Lombok 빌더 예시 출처 : https://johngrib.github.io/wiki/builder-pattern/

03. 자바 프로토타입 패턴 (JAVA Prototype Pattern)

# 참고한 영상 자바 디자인 패턴 이해 - YouTube Gof Design Pattern을 자바 언어로 설명한 강의. 의미 있고 쉬운 예제를 준비하려고 노력했습니다. '좋아요'/'구독' 부탁 드립니다. www.youtube.com # 설명 생산 비용이 높은 인스턴스를 복사를 통해서 쉽게 생성 할 수 있도록 하는 패턴 # 장점 [인스턴스 생산 비용이 높은 경우] 종류가 너무 많아서 클래스로 정리되지 않는 경우 클래스로부터 인스턴스 생성이 어려운 경우 똑같은 인스턴스를 간단하게 생성할 수 있다 # 단점 # 사용 여부 인스턴스 생산 비용 (작업율)이 많이 드는 객체를 복사하여 만들고자 할 때 사용한다. DB에서 데이터를 가져와 객체를 생성하였는데, 똑같은 객체가 필요하고자 할 때 DB에서 다시 데이터를 검색..

02. 자바 싱글톤 패턴 (JAVA Singleton Pattern)

# 참고한 영상 자바 디자인 패턴 이해 - YouTube Gof Design Pattern을 자바 언어로 설명한 강의. 의미 있고 쉬운 예제를 준비하려고 노력했습니다. '좋아요'/'구독' 부탁 드립니다. www.youtube.com # 설명 전역 변수를 사용하지 않고 객체를 하나만 생성 하도록 하며, 생성된 객체를 어디에서든지 참조할 수 있도록 하는 패턴 하나의 인스턴스만을 생성하는 책임이 있으며. getInstance 메서드를 통해 모든 클라이언트에게 동일한 인스턴스를 반환하는 작업을 수행한다. # 장점 객체의 생성과 조합을 캡슐화해 특정 객체가 생성되거나 변경되어도 프로그램 구조에 영향을 크게 받지 않도록 유연성을 제공한다. # 단점 전역 인스턴스이기 때문에 값 변경 시 유의해야한다. # 사용 여부 ..

01. 자바 팩토리 메소드 패턴 (JAVA Factory Method Pattern)

# 참고한 영상 자바 디자인 패턴 이해 - YouTube Gof Design Pattern을 자바 언어로 설명한 강의. 의미 있고 쉬운 예제를 준비하려고 노력했습니다. '좋아요'/'구독' 부탁 드립니다. www.youtube.com # 설명 객체는 직접 생성하는 경우가 있고, 팩토리 메소드 패턴의 역할처럼 간접적으로 객체 생성 후 반환해주는 방식으로 생각해 볼 수 있다 객체 생성을 대신 수행해주는 공장이라고 생각하면 된다. 팩토리 메서드 패턴은 템플릿 메서드 패턴을 포함하고 있다 # 장점 생성 할 클래스를 미리 알지 못해도 팩토리 클래스가 객체 생성 담당 객체의 자료형이 하위클래스에 의해서 결정 -> 확장성 용이성 동일한 형태로 프로그래밍 가능 확장성 있는 전체 프로젝트 구성 가능 객체가 늘어날 때 마다..

01. 자바 어댑터 패턴 (JAVA Adapter Pattern)

# 참고한 사이트 Adapter Pattern: 어댑터 패턴 어댑터처럼 어떤 인터페이스를 클라이언트에서 요구하는 형태의 인터페이스에 적응시켜주는 역할을 하는 패... blog.naver.com # 설명 한 클래스의 인터페이스를 클라이언트에서 사용하고자 하는 다른 인터페이스로 변환 합니다 어댑터를 이용하면 인터페이스 호환성 문제 때문에 같이 쓸 수 없는 클래스들을 연결해서 쓸 수 있습니다 A 인터페이스 - A Impl 클래스(인스턴스 변수(멤버 변수) = B 인터페이스) - B Impl 클래스 예시) 220V > 110V 변환 어댑터 > 100V # 장점 관계가 없는 인터페이스 간 같이 사용가능 프로그램 검사 용이 클래스 재활용성이 증가 # 사용 여부 # 사용 방법 매개변수 같은 A B 메소드를 찾는다 A..

02. 자바 템플릿 메소드 패턴 (JAVA Template Method Pattern)

# 참고한 영상 자바 디자인 패턴 이해 - YouTube Gof Design Pattern을 자바 언어로 설명한 강의. 의미 있고 쉬운 예제를 준비하려고 노력했습니다. '좋아요'/'구독' 부탁 드립니다. www.youtube.com # 설명 알고리즘의 구조를 메소드에 정의 하고 하위 클래스에서 알고리즘 구조의 변경없이 알고리즘을 재정의 하는 패턴 어떤 소스코드상의 알고리즘에서 특정 환경 또는 상황에 맞게 확장 또는 변경을 해야 할 경우 유용하다 추상크래스와 구현클래스로 작성할 수 있으며, 메인이 되는 로직 부분은 추상클래스의 일반 메소드로 선언해서 사용합니다. 즉, 구현별로 달라질 수 있는 행동(메소드)들은 구현 클래스 에서 선언 후 호출하는 방식으로 사용합니다. # 장점 코드 중복 감소 자식 클래스의 ..

01. 자바 전략 패턴 (JAVA Strategy Pattern)

# 설명 전략패턴은 각각의 알고리즘군을 교환이 가능하도록 별도로 정의하고 각각 캐슐화 한 후 서로 교환해서 사용 할 수 있는 패턴이다 # 장점 1. 코드 중복 방지 2. 런타임(Runtime)시에 타겟 메소드 변경 3. 확장성(신규 클래스) 및 알고리즘 변경 용이 # 구조 게임이라고 가정하였을 때 JumpBehaivor.java (E_Interface Impl) 을 생성하여 점프를 구현할 수 있다. (확장성에 좋음) # Interface 1 2 3 4 5 6 7 8 /** 자동차 움직임 */ public interface CarMoveBehavior { /** 액션 */ void action(); } Colored by Color Scripter cs # Impl UpMoveBehavior.java 1 ..