본문 바로가기
소프트웨어공학

software design pattern

by 아이티.파머 2021. 6. 1.
반응형

Design pattern

디자인 패턴은 여러 분류로 그룹화 되어 있으며, 크게 3세가지로 나뉜다. 보통 우리가 알고 있거나 자주 이야기 되는 패턴은 생성패턴, 구조패턴, 행동패턴이며, 그외에도 동시실행 패턴도 있다.

UML과 같은 일종의 설계 기법 및 설계방법이며, 소프트웨어 엔지니어링에서 디자인패턴은 소프트웨어 디자인시에 일반적으로 발생되는 문제이대한 일반적인 해결책이다. 디자인 패턴으로 코드를 직접 변환하거나 디자인한다고 해서 해결되는 것은 아니며, 이를 해결하기 위한 설명 혹은 템플릿 이라 생각하면 된다.

사용하는(패턴 화된) 이유 ?

다른 사람이 작성한코드를 보고 이해하는건 쉽지 않다. 이해되지 않는 코드드를 수정하거나 새로운 기능을 추가할때는 의도치 않은 결과나 버그가 발생되곤 한다. 디자인 패턴을 사용하한다면 이는 위에 설명한것럼 암묵적인 최적화 템플릿을 이용하는것이기 때문에 디자인패턴을 숙지 하고 있는 프로그래머는 해당코드의 목적을 좀더 쉽게 알아 차릴것이다.

디자인 패턴이 생겨나고 사용하는 이유자체가 기존 객체지향 프로그래밍을 설계할때 자주발생하는 문제점들을 해결하기 위해 만들어놓은 패턴 및 템플릿임으로 이를 이용함으로 재사용성을 높이고 유지보수를 용이하기 하기 위해 사용하는 것이다.

하지만 디자인패턴을 너무 남발하여 사용하면, 알수 없는 코드가 될가능성이 더 높은거 같다.

생성패턴

생성패턴은 필요한 기준에 따라 제어된 방식으로 객체를 생성하는 기능을 제공함

구조패턴

구조패턴은 더큰 구조를 형성하고 새로운 기능을 제공하기 위해 다양한 클래스와 객체를 구성한다.

  • 어텝터
  • 브리지
  • 데코레이터
  • 퍼사드
  • 프록시

행동패턴

객체간의 공통 커뮤니케이션 패턴을 식별하고 이러한 패턴을 실현 한다.

  • 책임연쇠(chain-of-responsibility pattern)
  • 커맨드
  • 인터프리터
  • 반복자
  • 중재자
  • 메멘토
  • 옵져버
  • 상태
  • 전략(Strategy)
  • 방문자
  • 템플릿 메소드

동시실행 패턴

기타 패턴

반응형

'소프트웨어공학' 카테고리의 다른 글

UML diagram 무료툴 추천 (flowchart 무료툴)  (0) 2021.05.25
소프트웨어 공학 개요  (0) 2008.03.21