패턴(Pattern)
2026년 5월 17일
-
소프트웨어 개발 방법으로 사용되는 디자인패턴(Desigin Pattern)은 과거의 소프트웨어 개발 과정에서 발견된 설계의 노하우를 축적하여 그 방법에 이름을 붙여서 이후에 재사용하기 좋은 형태로 특정 규약을 만들어서 정리한 것이다.
-
디자인 패턴은 소프트웨어 설계에 있어 공통적인 문제들에 대한 표준적인 해법과 작명법을 제안하며, 알고리즘과 같이 프로그램 코드로 바로 변환될 수 있는 형태는 아니지만, 특정한 상황에서 구조적인 문제를 해결하는 방식이다.
-
즉. 효율적인 코드를 만들기 위한 방법론이다. 
MVC(Mode View Controller) 패턴의 예시
- 홈페이지의 회원가입을 한다고 가정한다.
- 유저는 회원가입 양식 폼에 회원정보를 작성하고, 회원가입 버튼을 누르면 회원가입이 진행된다.
- 이 과정 중 아이디 중복 검사, 본인 인증, 비밀번호 재 검사 등 유저가 통과해야 할 것이 많다.
- 유저는 단순한 버튼 클릭으로 아이디 중복인지 아닌지, 본인의 인증이 올바른지, 비밀번호 가 올바른지 등등을 홈페이지의 글이나, 다이얼로그로 확인한다.
- 유저 입장에선 아무렇지 않게 확인하고 있는 것 들이지만, 프로그래머는 위에 일련의 인증할 것들을 구현하기 위해서는 생각보다 많은 수고를 들인다.
- 프로그래머 입장에서, 영역을 나누었을 때, 위의 아이디 중복 검사를 예시로 들면 프로그래머는 유저가 입력한 아이디가 회원 중 아이디를 중복으로 쓰고 있는지 검사하기 위해 데이터베이스를 조사한다.
- 데이터베이스를 조사 후, 중복 아이디가 없다면 유저에게 페이지 속 글 또는 다이얼로그로 아이디를 사용해도 된다는 표시를 해준다.
- 중복 아이디가 있는지 없는지를 검사하기위한 일련의 과정들, 즉 데이터 가공을 담당하는 영역을 흔히 비즈니스 로직(Business Logic) 영역 중의 모델(Model) 영역이라 부른다.
- 유저에게 단순히 텍스트나 다이얼로그로 알려주는 것이 있다.
- Presentation 영역 혹은 뷰(View) 영역 이라고 많이 불린다.
- 가공된 데이터를 단순히 표시만 해주는 것이다.
- 아이디가 중복됬습니다 표시, 비밀번호 재 검사를 실패 등의 메세지를 띄운다.