CS/디자인패턴

[디자인패턴] 디자인 패턴을 사용하는 이유

유정주 2022. 8. 9. 22:52
반응형

서론

MVVM을 포함한 다른 디자인 패턴 포스팅을 작성하기 전에,

디자인 패턴을 왜 사용하는지를 먼저 알아야겠다고 생각했습니다.

 

왜 쓰는지도 모르는데 종류는 뭐있고 어떤 특성이 있는지 알아봤자 뭐해요!?

오늘 디자인 패턴을 사용하는 이유에 대해 알아두고 이후에 세부적인 패턴을 공부해봅시다.

 

디자인 패턴이란?

소프트웨어 설계 시 특정 맥락에서 자주 발생하거나,

공통적인 문제들을 해결하기 위한 방법 중 하나입니다.

과거 개발 과정에서 발견된 설계의 노하우를 축적하고 재사용하기 좋은 형태로 정리한

일종의 설계 디자인 방법론입니다.

 

요즘에는 디자인 패턴과 소프트웨어 아키텍처를 통칭하여 사용하는 것 같습니다. (개인적인 의견임)

실제로는 소프트웨어 아키텍처가 디자인 패턴보다 더 큰 범위이지만

공통되는 개념으로 인터넷 서치를 해보면

이론적으론 구분하나 실제 사용할 때는 같은 의미로 쓰는 거 같았습니다.

 

디자인 패턴을 사용하는 이유

디자인 패턴은 프로그램의 구조를 구성하는 방식으로 말할 수도 있습니다.

프로그램은 당장 제대로 작동만 된다고 해서 끝나는 것이 아닙니다.

꾸준한 유지보수도 필요하고 협업도 해야하므로 가독성을 높여야 합니다.

시간과 노력에 대한 비용도 절감할 수 있도록 코드를 작성하면 더 좋고

테스트도 편해야 합니다.

 

이처럼 더 나은 코드작성과 유지보수가 편하도록

효율적인 개발을 위해서는 디자인 패턴을 활용해야 합니다.

 

디자인 패턴 주의점

디자인 패턴은 추상적인 개념이지 A~Z까지 정해져있는 규칙이 아닙니다.

따라서 프로젝트에 따라, 팀의 성격에 따라, 개인의 취향에 따라 조금씩 차이가 납니다.

큰 틀에 대해서만 지키면 되고 세부적인 구현은 상황에 따라 맞춰 나가야 해요.

 

MVC 패턴을 사용한다고 해서 반드시 100% 지킬 필요가 없다는 의미입니다.

만약 다른 패턴이나 방식을 접목해서 그게 더 효율적이고 편하다면

그대로 진행하면 되는거에요~

 

오히려 디자인 패턴을 다 지키려고 하면

시간적 비용이 더 들어서 목적이 흐려지게 됩니다.

편하자고 디자인 패턴을 도입했는데 디자인 패턴 때문에 더 힘들어지면 안 되겠죠?

 


잘못된 점이 있다면 댓글로 알려주시면 감사하겠습니다.

감사합니다.

 

 

반응형