[디자인패턴] 디자인 패턴을 배워야하는 이유

2021. 9. 28. 20:00
728x90

실무에서 GoF 패턴을 알아두면 도움이 되기 때문에
객체지향 프로그래밍을 할 때 더 효율적으로 할 수 있으므로 디자인 패턴을 공부해 두는 것이 좋다.

- 들어가기
디자인 패턴을 사용하면, 유지보수나 확장성 면에서도 좋다.
클래스 다이어그램이 자주 사용하게 된다.

디자인 패턴이란.

위키백과 ) 소프트웨어 디자인 패턴이란,

더보기

소프트웨어 디자인 패턴(software design pattern)은 소프트웨어 공학에서 소프트웨어 디자인에서 특정 문맥에서 공통적으로 발생하는 문제에 대해 재사용 가능한 해결책이다. 소스나 기계 코드로 바로 전환될수 있는 완성된 디자인은 아니며, 다른 상황에 맞게 사용될 수 있는 문제들을 해결하는데에 쓰이는 서술이나 템플릿이다. 디자인 패턴은 프로그래머가 어플리케이션이나 시스템을 디자인할 때 공통된 문제들을 해결하는데에 쓰이는 형식화 된 가장 좋은 관행이다.

https://ko.wikipedia.org/wiki/%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4_%EB%94%94%EC%9E%90%EC%9D%B8_%ED%8C%A8%ED%84%B4

간단히 말해서,
GoF(Gang of Four) 네 명의 학자가 기존의 다양한 사례와 시스템 등을 분석하여 좋은 설계라는 이런 것이다 라는 23개 패턴을 제안한 것이다.
디자인패턴을 이용하면 개발비용 및 유지보수 비용을 줄이고 확장성, 재상용 가능하도록 하는 좋은 설계를 할 수 있다.

디자인 패턴의 분류

디자인 패턴은 범위에 따라, 목적에 따라 분류할 수 있다.
어떤 것들이 있는지 알아두고 해당 패턴들을 마주 했을 때 구분할 수 있으면 실무에서 더 다양하게 사용할 수 있다.

특정 영역이나 언어에 종속되어 있지 않고 일반적으로 사용할 수 있고, 프레임 워크 개발에 적용할 수 있다.
또한 좋은 설계를 위해 제안할 수도 있다.
하지만 디자인 패턴이 꼭 적용되어야 하는 것은 아니다.

그럼에도 디자인 패턴을 사용하면 소프트웨어에 중요한 요소를 향상 시키기 때문에 배워두는 것이 좋다.

# 디자인 패턴의 특징
resuse, flexibility, extensibility, modularity

더 좋은 개발을 위해 가장 필요한 것이 경험인데, 디자인 패턴을 공부하면 증명된 스킬을 공부하며 경험을 배울 수 있는 좋은 기회가 된다.
또한, 결합도가 높거나 알고리즘의 종속성, 객체의 표현이나 구현에 종속적으로 구현된 소프트웨어 (*나쁜코드들..)를 리팩토링 할 수 있도록 한다.
결국 디자인 패턴을 적용하면 좋은 설계를 할 수 있게 되어 시스템의 유지보수에 들어가는 비용을 절약할 수 있다.

반응형

BELATED ARTICLES

more