일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- JAVA11
- array
- 사칙연산
- 자바 thread 실행 순서 제어
- R
- 수학
- 자바 스레드 실행 순서 제어
- Kadane's Algorithm
- 카데인 알고리즘
- heroku
- input
- hash table
- 자바입력
- SpringBoot 2
- scanner
- Easy
- Today
- Total
목록Design Pattern/Creational Pattern (6)
DeFacto-Standard IT
1. 가정 - 사람에 대한 정보를 저장하고, 출력하는 프로그램을 작성한다. - 사람에 대한 정보는 이름, 나이, 전화번호, 키, 몸무게 등이 있다. - 모든 정보를 입력할 필요 없이, 부분적으로 입력할 수 있다. - 모든 정보는 수정될 수 있다. 2. Naive Code - Personpublic class Person { private String name; private int age; private String phoneNumber; private int height; private int weight; public void setName(String name) { this.name = name; } public void setAge(int age) { this.age = age; } public ..
1. 가정 - A4전용 복사기를 만든다. - 복사기는 내용이 적인 A4종이를 복사하여, 똑같은 내용이 출력된 A4용지를 만들어낸다. 2. Naive Code - Paperpublic class Paper { private String content; public Paper(String content) { this.content = content; } public String getContent() { return content; } public void show() { System.out.println(content); } }Paper 클래스이다. 종이 생성 시 Content를 저장하고, show()를 통해 종이에 적힌 내용을 출력한다. - PhotoCopierpublic class PhotoCopier..
공통점 & 차이점 공통점 1. Template Method Pattern을 사용. 공통점 2. Factory 클래스를 사용하여 객체를 생성. 공통점 3. Factory Method Pattern을 사용. 둘 다 추상적인 클래스와 Factory를 통해 실제 구현대상인 Concrete클래스와 Client간의 결합도를 낮춘다. 인자에 따라 생성되는 객체가 결정된다. 차이점 1. Factory 클래스에서 객체에 대한 생성을 지원하는 범위 Factory Method Pattern - 한 Factory 당 한 종류(create() 메서드가 Factory 클래스에 1개) Abstract Factory Pattern - 한 Factory 에서 서로 연관된 여러 종류 모두 지원(create() 메서드가 Factory 클..
1. 가정 - 휴대폰을 만든다. - 휴대폰은 자신을 구성하는 부품들에 대한 정보를 출력한다. - 제조사는 삼성, LG 2가지 제조사가 존재한다. - 각 제조사의 휴대폰은 자사의 부품들로만 구성된다. - 구성 부품은 CPU, 카메라 이다. 2. Naive Code - Phonepublic class Phone { private CPU cpu; private Camera camera; public void setCPU(CPU cpu) { this.cpu = cpu; } public void setCamera(Camera camera) { this.camera = camera; } public void info(){ cpu.info(); camera.info(); } } CPU, 카메라로 구성되는 Phone ..
1. 가정 - 게임에서 마시는 체력포션을 구현한다. - 포션을 사용하면 각 포션의 색깔을 출력한다. - 유저는 포션을 마실 수 있다. - 포션은 포션 상점으로부터 제공받는다. 2. Naive Code - RedPotionpublic class RedPotion { public void use() { System.out.println("using RedPotion"); } }체력포션. 자신의 역할을 수행한다. - NaiveUserpublic class NaiveUser { private RedPotion redPotion; public void setRedPotion(RedPotion redPotion) { this.redPotion = redPotion; } public void drink() { if(..
1. 가정 - 여러 사람이 동시에 프린터를 사용하는 경우를 구현한다. - 여러 사람은 스레드로서 구현한다. - 프린터는 1대밖에 존재하지 않는다. 2. Naive Code - NaivePrinterpublic class NaivePrinter { private static NaivePrinter naivePrinter; private NaivePrinter(){ } public static NaivePrinter getNaivePrinter(){ if(naivePrinter ==null) naivePrinter = new NaivePrinter(); return naivePrinter; } public void print(String string) { System.out.println(string); }..