싱글턴 패턴 (Singleton Pattern)
- 목적 : 생성
- 범위 : 객체
- 객체의 생성에 관련된 패턴으로서 특정 클래스의 인스턴스가 오직 하나임을 보장하고 이 인스턴스에 접근할 방법을 제공합니다.
퍼사드 패턴 (Facade Pattern)
- 목적 : 구조
- 범위 : 객체
- 건물의 정문에 있는 안내소처럼 개발자가 사용해야 하는 서브 시스템의 가장 앞쪽에 위치하면서 하위 시스템에 있는 객체들을 사용할 수 있도록 하는 역할을 합니다. 시스템의 복잡성을 줄이기 위해 서브 시스템을 구조화하고 서브 시스템으로의 접근을 하나의 퍼사드 객체로 제공하는 패턴입니다.
옵저버 패턴 (Observer Pattern)
- 목적 : 행위
- 범위 : 객체
- 객체의 상태변화를 관찰하는 관찰자들, 즉 옵저버들의 목록을 객체에 등록하여 상태 변화가 있을 때마다 메서드 등을 통해 객체가 직접 목록의 각 옵저버에게 통지하도록 하는 패턴입니다.
스트래티지 패턴 (Strategy Pattern)
- 목적 : 행위
- 범위 : 객체
- 알고리즘을 담당하는 각각의 클래스를 만들어 책임을 분산하기 위한 목적으로 만든 행위 패턴입니다.
팩토리 패턴 (Factory Pattern)
- 목적 : 생성
- 범위 : 클래스
- 객체를 생성하기 위한 인터페이스를 정의하지만 어떤 클래스의 인스턴스를 생성할지에 대한 결정은 하위 클래스에서 이루어지도록 인스턴스 생성의 책임을 떠넘기는 패턴입니다.
어댑터 패턴 (Adapter Pattern)
- 목적 : 구조
- 범위 : 클래스, 객체
클래스의 인터페이스를 사용자가 기대하는 다른 인터페이스로 변환하는 패턴으로, 호환성이 없는 인터페이스 때문에 함께 동작할 수 없는 클래스들이 함께 동작하도록 해줍니다.
💡 싱글턴 패턴은 iOS 애플리케이션의 다양한 곳에 사용되고 있습니다. 어디에 사용되고 있는지 생각해봅시다.