Dev.YoungKyu
YoungKyu's Devlog
전체 방문자
오늘
어제
  • 분류 전체보기
    • 부스트캠프
    • iOS
    • visionOS
    • Backend
    • 알고리즘
    • CS
    • Git
    • Python
    • 끄적끄적

블로그 메뉴

  • 홈
  • 🌝 티스토리 홈
  • ⭐️ 깃허브
  • 태그

공지사항

인기 글

최근 댓글

최근 글

태그

  • AutoLayout
  • 백준
  • 모듈화
  • authenticationinterceptor
  • SwiftUI
  • constraint
  • Swift5.7
  • 부스트캠프
  • alamofire
  • image
  • 알고리즘
  • if let
  • CS
  • Optional
  • ImageResource
  • 소프트웨어공학
  • Git
  • Concurrency
  • jekyll
  • 소프트웨어 테스트
  • guard
  • 오블완
  • ios
  • boj
  • 티스토리챌린지
  • Python
  • 소프트웨어 공학
  • AVAudioSession
  • MVC
  • swift

티스토리

hELLO · Designed By 정상우.
Dev.YoungKyu
[소프트웨어 공학] 디자인 패턴 Design Pattern
CS

[소프트웨어 공학] 디자인 패턴 Design Pattern

2022. 9. 26. 10:49

디자인 패턴

  • 전형적인 문제들에 대한 재사용 가능한 해결책
    • 축적된 경험 활용, 불필요한 시행착오 감소
  • 이름을 부여해서 설계 문제와 해법 및 결과 기술
    • 문제: 고려할 제약 사항 기술
    • 해법: 구성 요소, 요소 간 관계 및 책임, 협력관계 기술
    • 결과: 패턴을 적용해서 얻는 결과, 장단점 기술
  • 공통 언어 역할, 효율적인 협업 가능
    • 디자인한 시스템의 안정성과 성능 향상

 

GoF (Gang of Four) 패턴 (생성/구조/행동 패턴)

Factory Method 어떤 객체를 생성할 지를 기반 클래스로부터 분리하여 파생 클래스에서 결정 (캡슐화하여 분리처리)
Singleton 어디서든 참조할 수 있는 객체를 하나만 생성
Adapter 클래스의 인터페이스를 다른 인터페이스로 변환
Composite 복합 객체와 단일 객체를 구별 없이 다루도록 처리
Decorator 객체의 결합으로 기능을 동적으로 유연하게 확장
Observer 일대다 객체 의존관계 구성 (다른 객체 상태변화에 연동)
State 객체의 상태에 따라 객체의 행위 내용을 변경
Strategy 행위를 클래스로 캡슐화하여 동적으로 행위 변경
Template Method 기반(추상) 클래스에서 공통 로직(template)을 제외한 일부분(추상 메소드: override)을 파생 클래스로 캡슐화
Visitor 고정된 자료구조에 행위를 쉽게 추가 가능

 

저작자표시 (새창열림)

'CS' 카테고리의 다른 글

[소프트웨어 공학] 소프트웨어 테스트 - 2  (1) 2022.10.03
[소프트웨어공학] 소프트웨어 테스트 - 1  (1) 2022.10.03
[소프트웨어 공학] 디자인 원칙 SOLID  (0) 2022.09.26
[소프트웨어 공학] 의존성 주입과 IoC  (2) 2022.09.26
[소프트웨어 공학] Maven  (1) 2022.09.26
    'CS' 카테고리의 다른 글
    • [소프트웨어 공학] 소프트웨어 테스트 - 2
    • [소프트웨어공학] 소프트웨어 테스트 - 1
    • [소프트웨어 공학] 디자인 원칙 SOLID
    • [소프트웨어 공학] 의존성 주입과 IoC
    Dev.YoungKyu
    Dev.YoungKyu
    iOS를 공부하고 있습니다

    티스토리툴바