Observer Pattern- 객체의 상태 변화를 관찰하는 관찰자들, 즉 옵저버들의 목록을 객체에 등록하여 상태 변화가 있을 때마다 메소드 등을 통해 객체가 직접 목록의 각 옵저버에게 통지하도록 하는 패턴이다. 주로 분산 이벤트 핸들링 시스템을 구현하는 데 사용된다. pubish/subscribe 패턴으로 알려져 있기도 하다.- 특정 인스턴스에 특정 인터페이스를 구현하는 클레스를 등록한다.- 특정 인스턴스에서 등록된 클레스의 인터페이스의 메소드를 호출한다. public class Orcs implements WeatherObserver { @Override public void update(WeatherType currentWeather) { switch (currentWeather) { case CO..
Factory Method Pattern- 팩토리 객체는 공통 인터페이스 타입 객체를 만드는 팩토리 메소드를 가지고 있다.- 외부에서 특정 타입 및 파라미터를 받으면 해당 타입에 맞는 팩토리를 호출하여 객체를 생성한다. public enum WeaponType { SHORT_SWORD("short sword"), SPEAR("spear"), AXE("axe"), UNDEFINED(""); private String title; WeaponType(String title) { this.title = title; }} public class OrcWeapon implements Weapon { private WeaponType weaponType; public OrcWeapon(WeaponType weapo..
Builder Pattern- 복합 객체의 생성 과정과 표현 방법을 분리하여 동일한 생성 절차에서 서로 다른 표현 결과를 만들 수 있게 하는 패턴이다.- 별도의 Builder는 자신을 리턴하여 stream 형태로 데이터를 입력받을 수 있다.- Builder를 생성자로 입력받아 Builder에 입력된 파라미터로 인스턴스를 생성한다. public final class Hero { private final String profession; private final String name; private final String hairType; private final String hairColor; private final String armor; private final String weapon; privat..
Template Method Pattern- 추상클레스에서 전체 비지니스 로직이 템플릿 형태로 존재하고, 특정 디테일 메소드를 추상 메소드로 선언하여 상속받은 각 클레스에서 처리한다.- 전체적인 로직은 비슷하지만, 일부 로직만 틀릴 경우에 사용한다. public class SubtleMethod extends StealingMethod { @Override protected String pickTarget() { return "shop keeper"; } @Override protected void confuseTarget(String target) { System.out.println("Approach the {} with tears running and hug him!", target); } @Ove..
Strategy Pattern- 전략 패턴은 실행 중에 알고리즘을 선택할 수 있게 하는 행위 소프트웨어 디자인 패턴이다. - 특정한 계열의 알고리즘들을 정의하고 각 알고리즘을 캡슐화하며 이 알고리즘들을 해당 계열 안에서 상호 교체가 가능하게 만든다. - 전략은 알고리즘을 사용하는 클라이언트와는 독립적으로 다양하게 만든다. public class MeleeStrategy implements DragonSlayingStrategy { @Override public void execute() { System.out.println("With your Excalibur you sever the dragon's head!"); }} public class ProjectileStrategy implements Dra..
- Total
- Today
- Yesterday
- Spring Registrar
- SmartLifecycle
- Embeddable Mapping
- Registrar
- RetryTemplate
- spring spel
- DI
- @Primary
- Embedded Mapping
- java EqualsAndHashCode
- Akka
- Sprint RetryTemplate
- JPA
- Spring JDBC Template
- Mapping
- java Equals
- Property
- Charles proxy
- Typesafe Config
- Query DSL
- JPA Criteria
- java generic
- docker
- 복합키 Mapping
- scikit-learn
- Criteria
- guava
- Discriminate Mapping
- Join Table
- Spring
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |