TIL - 디자인 패턴 개요

장숭혁·2023년 10월 30일
0

TIL작성

목록 보기
8/60

    디자인 패턴을 공부하는 이유는 뭘까? 이번 팀과제 지난주 개인과제를 거치며 디자인 패턴중 factory Method, adapter , singletone을 공부하였는데 이것들을 적용하지는 못했지만 어떻게 코딩하면 좋을지 아이디어를 얻을 수 있었다. 이 부분 덕분에 프로그램을 구조적으로 코딩하는데 도움을 준다고 생각했다. 그렇다면 현업에서는 어떤 부분이 도움이 될까? 면담시간에 디자인 패턴의 좋은점에 대해서 질문을 한 적이 있었는데 개발자들끼리 소통을 하는데 유용하다는 답변을 받았었다.

   디자인 패턴의 장점은 무엇이 더 있는지 인터넷 서칭을 하였다.
   1. 팀원들과 의사소통에 도움이 된다.

  1. 소프트 웨어 구조를 파악하기 용이하다

  2. 코드 재사용에 용이해 개발시간을 단축한다.

  3. 설계 변경 요청에 유연한 대처가 가능하다(확장, 유지, 보수에 유연함)

아직은 간단한 과제를 요구받아 코딩을 하였지만 이제 본격적으로 자바 스프링 프레임 워크 과제 주차에 들어가면, 코드량이 많아져 좀더 구조적이고 알아보기 쉽게 코딩해야 한다는 생각을 하게 되었다. 단점이라면 초기에 시간이 많이 들어간다는 점인데 나중에 프로그램 흐름을 수정해야 될 수 있으니 단점을 상쇄하고도 남는다고 생각하였다.

구조 패턴 : 프로그램 내의 자료구조 ,인터페이스 구조 등 프로그램 구조를 설계하는데 활용하는 패턴이다. 큰 규모의 시스템에서 복잡한 구조를 개발하기 쉽게 하고, 유지보수를 쉽게 만들어 준다.

  • 어댑터(Adapter
  • 컴포짓(Composite)
  • 브릿지(Bridge)
  • 데코레이터(decorator)
  • 파사드(facade)
  • 프록시(proxy)

생성 패턴 : 객체를 생성하는 것과 관련된 패턴, 객체를 생성할때 전체 기능에 영향이 가지 않도록 하고, 코드의 유연성을 높인다.

  • 팩토리 메소드(Factory Method)
  • 싱글톤(Singletone)
  • 프로토 타입(Prototype)
  • 빌더(Builder)
  • 추상 팩토리(Abstract Factory)
  • 체이닝(Chaining)

행위 패턴 : 반복적으로 사용되는 객체들의 상호작용을 패턴화 한것 , 클래스나 객체들이 상호작용하는 방법과 책임을 분산하는 방법 제공, 행위 패턴은 행위 관련 패턴을 사용하여 독립적으로 일을 처리하고자 할때 사용

  • 템플릿 메소드(Templete Method)
  • 인터프리터(Interpreter)
  • 이터레이터(Iterator)
  • 옵저버(Observer)
  • 전략 패턴(Strategy)
  • 커맨드 패턴(command)
profile
코딩 기록

0개의 댓글

관련 채용 정보