본문 바로가기

디자인 패턴

[Design Pattern] Factory Pattern(팩토리 패턴 : 추상 팩토리 패턴) 디자인 패턴 중 Factory Pattern은 다른 디자인 패턴들보다 확장성에 더 중점을 가진 패턴이라고 해도 과언이 아닐 것이다. 공장에서 물건을 생산할 때 생산라인의 생산공정을 교체하여 각기 다른 제품들을 생산하는 것과 비슷한 원리라고 생각하면 된다. 특히 추상 팩토리 패턴에서는 이런 식으로 원하는 상호간의 의존성을 줄이면서도 클래스를 확장시키면서 매우 효율적인 확장성을 가질 수 있게 된다. 하지만 팩토리 패턴에도 단점이 없는 것이 아니다. 이는 팩토리 패턴의 특성상 당연한 일이다. 예를 들어 3개 제품을 생산하는 공장에서 생산과정 중 하나가 수정이 되었다고 가정해 보자. 제품이 3개뿐이 안되기 때문에 3개의 제품에 대하여 생산과정을 하나씩 수정하는 것은 그리 어려운 일이 아닐 것이다. 하지만... .. 더보기
[Design Pattern] 디자인 패턴? 위키백과에서 정의하고 있는 디자인 패턴은 다음과 같다. 프로그램 개발에서 자주 나타나는 과제를 해결하기 위한 방법 중 하나로, 과거의 소프트웨어 개발 과정에서 발견된 설계의 노하우를 축적하여 이름을 붙여, 이후에 재이용하기 좋은 형태로 특정의 규약을 묶어서 정리한 것. 위의 정의는 디자인 패턴을 잘 설명해 주고 있다. 여기서 핵심은 방법 이라는 것이다. 이것이 디자인 패턴을 알고 있으면서도 쉽게 적용하기가 힘든 이유다. 잘 만들어진 라이브러리나 프레임워크들은 모두 이 디자인 패턴이 녹아 들어 있을 것이다. 평상시는 그저 라이브러리나 프레임워크를 사용할 뿐이다. 그렇다고 해서 너무 어렵게 생각할 필요도 없다고 본다. 좋은 프로그래밍 습관을 가진 프로그래머는 아마 자신도 모르게 디자인 패턴을 사용하고 있을 .. 더보기