본문 바로가기
반응형

Design Pattern7

[디자인 패턴] 총 정리 (3) - 싱글톤(Singleton) 패턴 [생성 패턴] 이번 포스팅부터 드디어 디자인 패턴을 정리하게 되었네요. 이번 포스팅에서 알아볼 패턴은 생성 패턴의 싱글톤(Singleton) 패턴입니다. 싱글톤(Singleton) 패턴이란? 싱글톤 패턴은 인스턴스를 오직 1개 생성하고 이를 리턴해주는 패턴입니다. 싱글톤의 사전적 의미를 네이버 사전에서 찾아보니 단독 개체, 독신자, 외둥이 등이 나옵니다. 싱글톤은 단독 개체라는 뜻으로 보시면 되겠습니다. 언제 사용하나? 인스턴스를 오직 1개만 만들어야 하는 경우에 사용합니다. 예) 환경설정 정보, 아이템 창 코드 생각보다 인스턴스를 1개만 만들어 주는 작업이 쉬운 거 같으면서도 막상 개발해보면 어려습니다. 왜 어려운지 어떤 걸 고려해야 하는지 싱글톤을 구현하는 여러 개발 방법을 알아보고 각 개발 방법의 장/단점을 알아.. 2022. 2. 12.
[디자인 패턴] 총 정리 (2) - 디자인 패턴이란? + 디자인 패턴 종류 이번 포스팅에선 디자인 패턴이 무엇인지 왜 배워야 하는지를 설명하고 디자인 패턴 종류를 알아보겠습니다. 디자인 패턴이란? 일반적으로 우리가 말하는 디자인 패턴은 GOF(Gang Of Four)라는 괴물들이 집필한 Design Patterns에 나오는 23개의 패턴을 말합니다. 개발을 구조적으로 우아하게 설계하려고 노력하다보니 반복되는 패턴들이 발견됐는데 그걸 바로 디자인 패턴이라고 합니다. (괴물들이 집필한 이 책의 번역본이 있습니다. 근데 보기가 너무 어렵... ㅠㅠ) 디자인 패턴을 왜 배우라고 하나? 1. 일단 제일 큰 이유는 개발자들과 소통이 잘 되기 위함입니다. 예를 들어 코드리뷰를 할 때 디자인 패턴 모르는 개발자 "나는 1, 2, 3, 4 실행 순서 중 3번만 a, b, c 상태 별로 다르기 .. 2022. 2. 11.
[디자인 패턴] 총 정리 (1) - 클래스 다이어그램(Class Diagram)이란? 디자인 패턴을 공부하기 전 반드시 공부하고 가야하는 클래스 다이어그램입니다. 클래스 다이어그램의 구성 요소에 대해 알아보겠습니다. 클래스 다이어그램이란? 클래스 다이어그램은 UML(Unified Modeling Language)의 다이어그램 중 1개로 위키에 정리된 클래스 다이어그램 설명을 보면 아래와 같습니다. 클래스 다이어그램은 객체 지향 모델링의 주요 빌딩 블록이다. 응용 프로그램 구조의 일반적인 개념적 모델링, 또 모델의 프로그래밍 코드로의 세세한 모델링 변환을 위해 사용된다. 클래스 다이어그램은 데이터 모델링용으로도 사용이 가능하다. - 위키 클래스간 관계를 나타내기 위한 다이어그램이라고 이해주시면 됩니다. 클래스 다이어그램의 구성 요소 Field (필드) 변수는 접근 제한자, 변수 명, 변수 .. 2022. 1. 23.
[디자인 패턴] 총 정리 (0) - 무료 클래스 다이어그램 툴 소개 오늘부터 디자인 패턴 총 정리를 해보려고 합니다. 디자인 패턴을 공부하려면 클래스 다이어그램을 무조건 알고 가야합니다. 클래스 다이어그램에 대해 배우기 전 앞으로 클래스 다이어그램을 그릴 툴부터 먼저 간단하게 소개하겠습니다. 클래스 다이어그램 툴 diagrams.net (https://app.diagrams.net/) Flowchart Maker & Online Diagram Software Flowchart Maker and Online Diagram Software diagrams.net (formerly draw.io) is free online diagram software. You can use it as a flowchart maker, network diagram software, to cr.. 2022. 1. 22.
[디자인 패턴] 빌더 패턴 (Builder Pattern) * 아래 3개의 패턴을 하나의 주제를 가지고 차례차례 설명합니다. 참고바랍니다. 점층적 생성자 패턴 (TelescopingConstructor Pattern) 자바빈즈 패턴 (JavaBeans Pattern) 빌더 패턴 (Builder Pattern) 빌더 패턴 (Builder Pattern) 이란? 필수 매개변수는 생성자를 통해 빌더 객체를 얻은 후 선택 매개변수는 세터 메서드들로 설정하고 build 메서드를 호출하는 점층적 생성자 패턴의 안정성 + 자바빈즈 패턴의 가독성을 겸비한 패턴 코드 public class NutritionFacts { private int servingSize; // 필수 private int servings; // 필수 private int calories; private .. 2020. 5. 11.
[디자인 패턴] 자바빈즈 패턴 (JavaBeans Pattern) * 아래 3개의 패턴을 하나의 주제를 가지고 차례차례 설명합니다. 참고바랍니다. 점층적 생성자 패턴 (TelescopingConstructor Pattern) 자바빈즈 패턴 (JavaBeans Pattern) 빌더 패턴 (Builder Pattern) 자바빈즈 패턴 (JavaBeans Pattern)이란? 매개변수가 없는 생성자로 객체를 만든 후 세터(setter) 메서드들을 호출해 원하는 매개변수의 값을 설정하는 방식이다. 코드 public class NutritionFacts { private int servingSize = -1; // 필수 private int servings = -1; // 필수 private int calories = 0; private int fat = 0; private i.. 2020. 5. 11.
[디자인 패턴] 점층적 생성자 패턴 (Telescoping Constructor Pattern) * 아래 3개의 패턴을 하나의 주제를 가지고 차례차례 설명합니다. 참고바랍니다. 점층적 생성자 패턴 (Telescoping Constructor Pattern) 자바빈즈 패턴 (JavaBeans Pattern) 빌더 패턴 (Builder Pattern) 점층적 생성자 패턴 (Telescoping Constructor Pattern)이란? 생성자를 필수 매개변수 1개만 받는 생성자, 필수 매개변수 1개와 선택 매개변수 1개를 받는 생성자, 선택 매개변수 2개를 받는 생성자 등에 형태로 매개변수 개수만큼 생성자를 늘리는 방식 코드 public class NutritionFacts { private final int servingSize; // 필수 private final int servings; // 필수.. 2019. 10. 23.
반응형