본문 바로가기

java

Mediator 자바 디자인 패턴 15 - Mediator 1. Mediator 패턴은.. 비행기가 이착륙하다가 충돌하는 일은 좀체로 일어나지 않습니다. 비행기들끼리 서로 통신하지 않는데도 말이죠. 각각의 비행기는 관제탑하고만 통신을 하고, 관제탑이 각각의 비행기에게 착륙해도 된다 또는 안 된다 식으로 메시지를 보내줍니다. 비행기들끼리 서로서로 직접 통신을 한다면 통신할 경우의 수가 무진장 많아져서 혼란스럽게 됩니다. Mediator 패턴은 관제탑과 같이 통신을 집중시킴으로써 통신의 경로를 줄이고 단순화시키는 역할을 합니다. 2. 예제 ------------------ 관제탑 역할을 하는 ControlTower (활주로 역할도 함) ---------------- package ch15_Mediator; public cl.. 더보기
Builder 자바 디자인 패턴 14 - Builder 1. Builder 패턴은.. 뭔가가 만들어 지는 과정은 꽤나 복잡할 수가 있습니다. 게다가 그 복잡한 과정이 순서대로 실행되어야 할 때도 있습니다. 객체의 생성에 있어서 이런 복잡한 과정들을 분리해 내는 것이 Builder 패턴입니다. 2. 예제 ---------------- 복잡한 과정을 거쳐서 만들어 지는 객체가 될 Hero 클래스 ---------------- package ch14_builder; public class Hero { private String armSource; private String legSource; private String name; public Hero(String name) { super(); this.name = name;.. 더보기
Flyweight 자바 디자인 패턴 13 - Flyweight 1. Flyweight 패턴은.. Flyweight 는 동일한 것을 공유해서 객체 생성을 줄여 가볍게 만드는 것입니다. 클래스 별로 factory를 씁니다. 그리고 그 factory에서는 자신이 찍어내는 객체들을 관리합니다. 이미 가지고 있는 객체에 대한 요청이 들어왔을 때는 관리하고 있던 객체를 던져주고, 가지고 있지 않은 것을 요청하면 새로 객체를 만들어 관리 리스트에 추가시키고 던져줍니다. 2. 예제 ---------------- Person class 및 Person을 Flyweight로 관리하는 Factory ------------- package ch13_Flyweight;import java.util.HashMap;import java.util.M.. 더보기