일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 제주
- SBT
- design pattern
- nginx
- apache storm
- hdfs
- Hbase
- DDD
- Angular2
- intellij
- spark
- Spring
- Spring XD
- Spring Batch
- Spring Boot
- Java
- hadoop
- 스프링 배치
- 엘라스틱서치
- 인텔리J
- elastic search
- Clean Code
- docker
- 일본 백패킹
- Gradle
- scala
- Linux
- Storm
- 도메인주도설계
- elasticsearch
- Today
- Total
목록Methdology (68)
욱'S 노트
When Using It 레이어간 티어간의 연결시 공통되는 창구가 필요할 때 Class Diagram Sample Code public class Facade { public void execute() { SubClass subClass = new SubClass(); subClass.execute(); } } public class SubClass { public void execute() { } } Caution 특별한 이슈사항은 없다.
When Using It 각각의 세부적인 기능은 감추고 공통적인 형태로 사용하고 싶을때 Class Diagram Sample Code public class Adaptee { public void specificRequest() { } } public interface Target { public void request(); } public class Adapter implements Target { private Adaptee adaptee; public Adapter() { this.adaptee = new Adaptee(); } @Override public void request() { adaptee.specificRequest(); } } Caution Target과 Adaptee가 성격이 ..
When Using It 생성이 복잡한 부품들을 제조하는 공장 자체를 만들어 제공하고 싶을때 Class Diagram Sample Code public interface Prototype { public Object clone(); } public class ConcretePrototype implements Prototype { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } @Override protected Object clone() throws CloneNotSupportedException { ConcretePrototype prot..
When Using It 생성이 복잡한 부품들을 제조하는 공장 자체를 만들어 제공하고 싶을때 Class Diagram Sample Code public class AbstractProduct { } public class ConcreteProduct extends AbstractProduct { } public class ConcreteProduct2 extends AbstractProduct { } public abstract class AbstractFactory { public AbstractFactory getFactory(String name) { if (name.equals("A")) { return new ConcreteFactory(); } else { return null; } } p..
When Using It 클래스에서 직접 인스턴스 생성하는 것보다 훨씬 유연하고 확장성 있는 구조를 가지고 싶을때 Class Diagram Sample Code public abstract class Product { } public class ConcreteProduct extends Product { } public abstract class Creator { public final Product create() { Product product = createProduct(); return product; } public abstract Product createProduct(); } public class ConcreteCreator extends Creator { @Override publi..
When Using It 인스턴스 생성시 복잡한 초기화 과정을 거칠시 사용하는 패턴이다. Class Diagram Sample Code public class Director { private Builder builder; public Director(Builder builder) { this.builder = builder; } public void construct() { builder.buildName("TEST"); builder.buildPrice(10000); } } public interface Builder { public void buildName(String name); public void buildPrice(int price); } public class ConcreteBui..
When Using It 인스턴스를 하나만 만들고 싶을때 사용하는 패턴이다. 일반적인 Stateless한 클래스의 경우 혹은 Stateful 하지만 변경을 할 수 있는 메소드가 노출되어 있지 않을때 사용한다. Class Diagram Sample Code public class Singleton { private static Singleton instance = new Singleton(); private Singleton() {} public static Singleton getInstance() { return instance; } } Caution 객체가 하나만 생성되기 때문에 Stateful 한 객체의 인스턴스를 생성할 경우 멀티스레드 환경에서 주의를 해야 한다. 여러 스레드가 동시에 사용할 경우..
Design Pattern이란 ? 소프트웨어 개발시 직면한 문제 해결을 위해 사용하는 구조화된 해법이다. GOF의 디자인패턴 가장 널리 디자인 패턴이며, Gang of four(에릭감마, 리차드헬름, 랄프존슨, 존블리시드)에 의해 발표되었다. 그들은 23가지 디자인 패턴을 다음과 같이 분류한다. 생성에 관한 패턴 Abstract Factory, Builder, Factory Method, Prototype, Singleton 구조에 관한 패턴 Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy 행동에 관한 패턴 Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento..