Design Pattern

[Design Pattern] 1. 디자인 패턴이란 무엇인가

o0zrone 2023. 3. 21. 16:48
728x90

디자인 패턴은 소프트웨어 디자인 중 발생하는 문제에 적용하여 해결 할 수 있는 해결법입니다.

 

history:

1990년대 GoF(Gang of Four)로 알려진 소프트웨어 엔지니어 그룹에 의해 처음 나왔으며  "Design Patterns: Elements of Reusable Object-Oriented Software"라는 책에 23가지의 패턴을 정리했습니다.

 

패턴이라고 불리듯이 그 기능을 그냥 가져다 쓰는 것이 아닌 자신의 코드에 패턴을 적용하는 것입니다.

 

디자인 패턴은 아래와 같이 세가지로 분류됩니다.

  • 생성: 객체가 생성되는 상황에 작용 되는 패턴이며 적절한 방식으로 객체가 생성될 수 있게 도와는 패턴입니다.
  • 구조: 개체의 구성 또는 개체에 기능 추가 등 더 큰 구조로 형성시킬때 사용되는 패턴입니다.
  • 행동: 개체 간의 통신 혹은 개체 간 책임 할당을 처리하는 패턴입니다.

장점:

  • 협업 시 어떤 패턴을 사용했는지 말하여 소통이 수월해집니다.
  • 유지 보수가 편한 코드를 짤 수 있습니다.
  • 객체 생성 혹은 중복된 코드를 줄이며 성능을 개선할 수 있습니다.

단점:

  • 남용할 경우 오히려 코드가 복잡해지고 수정하기 힘들어 질 수 있습니다.
  • 잘못 사용하는 경우 이해가 어렵고 잘못된 결과가 나올수 있습니다.

예전부터 여러 소프트웨어에 적용되어왔고 유지보수 및 가독성, 개발 속도가 빨라지므로 모두들 공부해보고 실무에서 잘 사용하셨으면 좋겠습니다.

 

이후 GoF 23가지 디자인 패턴에 대해 알아보고 적용해볼 것 입니다.

 

이후에 올라간 코드를 가지고 추가로 상속이나 interface를 구현해서 그 코드의 구조를 익혔으면 좋겠습니다.