rudin_.log
로그인
rudin_.log
로그인
[iOS] 프로그래밍 디자인 패턴
RudinP
·
2023년 11월 3일
팔로우
0
iOS
스터디
0
Study
목록 보기
102/227
프로그래밍 디자인 패턴
특정 문제 상황에서 해당 문제를 해결하는 방법을 정형화 한것
ex) 싱글톤..
GoF(Gang of Four)
"특정한 상황에서 일반적 설계문제를 해결하기 위해 상호교류하는 수정 가능한 객체와 클래스들에 대한 설명이다."
디자인 패턴의 분류
목적을 기준으로 한 분류
생성
(Creational Pattern)
객체의 생성 과정에 관여하는 패턴
구조
(Structural Pattern)
클래스나 객체의 구성을 통해 더 큰 구조로 만들 수 있게 해주는 것과 관련된 패턴
행위
(Behavioral Pattern)
패턴을 주로 클래스에 적용하는지 아니면 객체에 적용하는지에 따라 구분되는 패턴
범위를 기준으로 한 분류
클래스 패턴
(Class Pattern)
클래스들과 하위 클래스 간의 관계를 다루는 패턴
컴파일 시에 관계가 결정
객체 패턴
(Object Patterns)
객체 간의 관계를 다루며 보통 구성을 통해 정의
객체 패턴은 일반적으로 실행시간에 관계가 생성되기 때문에 더 동적이면서 유연
디자인 패턴의 종류
싱글턴 패턴
(Singleton Pattern)
목적 : 생성
범위 : 객체
객체의 생성에 관련된 패턴으로서 특정 클래스의 인스턴스가 오직 하나임을 보장하고 이 인스턴스에 접근할 방법을 제공
퍼사드 패턴
(Facade Pattern)
목적 : 구조
범위 : 객체
개발자가 사용해야 하는 서브 시스템의 가장 앞쪽에 위치하면서 하위 시스템에 있는 객체들을 사용할 수 있도록 하는 역할을 함.
시스템의 복잡성을 줄이기 위해 서브 시스템을 구조화하고 서브 시스템으로의 접근을 하나의 퍼사드 객체로 제공하는 패턴
옵저버 패턴
(Observer Pattern)
목적 : 행위
범위 : 객체
객체의 상태변화를 관찰하는 관찰자들, 즉 옵저버들의 목록을 객체에 등록하여 상태 변화가 있을 때마다 메서드 등을 통해 객체가 직접 목록의 각 옵저버에게 통지하도록 하는 패턴
스트래티지 패턴
(Strategy Pattern)
목적 : 행위
범위 : 객체
알고리즘을 담당하는 각각의 클래스를 만들어 책임을 분산하기 위한 목적으로 만든 행위 패턴
팩토리 패턴
(Factory Pattern)
목적 : 생성
범위 : 클래스
객체를 생성하기 위한 인터페이스를 정의하지만 어떤 클래스의 인스턴스를 생성할지에 대한 결정은 하위 클래스에서 이루어지도록 인스턴스 생성의 책임을 떠넘기는 패턴
어댑터 패턴
(Adapter Pattern)
목적 : 구조
범위 : 클래스, 객체
클래스의 인터페이스를 사용자가 기대하는 다른 인터페이스로 변환하는 패턴으로, 호환성이 없는 인터페이스 때문에 함께 동작할 수 없는 클래스들이 함께 동작하도록 해줌
출처: 야곰
RudinP
곰을 좋아합니다. <a href = "https://github.com/RudinP">github</a>
팔로우
이전 포스트
[iOS] 뮤직 플레이어 AutoLayout 실습
다음 포스트
[iOS] <MemoApp> 프로젝트 생성
0개의 댓글
댓글 작성