본문 바로가기
반응형

디자인패턴2

[디자인패턴] Builder Pattern / 빌더패턴 구현 빌더(Builder) 패턴이란? GoF 중 생성 패턴에 속하며, 객체를 생성할 때 유용하게 사용하는 디자인패턴이다. 기존에 생성자를 이용하여 객체를 생성하는데 생길 수 있는 문제를 보완하기 위해 사용되어 지며, 객체의 Optional한 속성이 많을수록 빌더패턴이 더욱 유용해진다. 아래와 같은 스타일로 객체를 생성하는 코드가 있다면, 빌더 패턴을 사용했다고 할 수 있다. Member member = Member.builder() .name("홍길동") .age(30) .build(); .으로 연속되게 이어지는 패턴을 Dot(.) Chain 문법이라고 부른다. 빌더 패턴의 구조 Builder 객체를 생성하는데 사용되는 인터페이스이다. ConcreteBuilder Builder를 실제로 구현하여 객체를 생성까.. 2022. 9. 11.
[디자인패턴] Flyweight Pattern / 플라이웨이트 패턴 구현 플라이웨이트(Flyweight) 패턴이란? 플라이웨이트 패턴은 불필요한 메모리 낭비를 줄이기 위해 고안된 패턴으로, 공통된 자원의 인스턴스를 한번만 생성하여 공유시켜주는 것이다. 즉, 공유를 통하여 대량의 객체들을 효과적으로 지원하는 방법이다. 여기서 어떤 자원을 플라이웨이트 패턴에 적용시킬까에 대한 관점은 보통 두가지로 축약된다. 1. 중복 생성될 가능성이 높은 경우 중복 생성될 가능성이 높다는 것은 동일한 자원이 자주 사용될 가능성이 매우 높다는 것을 의미한다. 이런 자원은 고통 자원 형태로 관리해 주는 편이 좋다. 2. 자원 생성 비용은 큰데 사용 빈도가 낮은경우 이런 자원을 항상 미리 생성해 두는 것은 낭비이다. 따라서 요청이 있을 때에 생성해서 제공해주는 편이 좋다. 이 두가지 목적을 위해서 플.. 2022. 9. 7.
반응형