[Swift] 의존성 주입(Dependency Injection)이란?
·
Apple/Swift
안녕하세요! 피피아노입니다 🎵 이번 포스팅에서는 의존성 주입(Dependency Injection), 줄여서 DI라는 개념에 대해서 Swift 언어 기반으로 살펴보려고 합니다. 본격적으로 들어가기 전에 의존성 주입은 객체지향 언어에서 개발을 하다 보면 점점 커지는 클래스와 복잡한 의존성 관계 속에서 코드를 유연하고 테스트하기 쉽게 만들기 위한 것이라고 생각하시면 됩니다. 그럼 바로 시작하겠습니다! 의존성(Dependency)이란?의존성이란 "어떤 객체가 다른 객체를 필요로 한다"는 의미로 정리해볼 수 있습니다. 예를 들어서 Car 클래스가 Engine 클래스를 내부적으로 사용한다면, Car는 Engine에 의존한다고 말할 수 있습니다.class Engine { func start() { ..
[디자인 패턴] 디자인 패턴과 싱글톤 패턴
·
CS/디자인 패턴
1. 디자인패턴 소프트웨어 디자인 패턴이란 소프트웨어 설계에서 자주 발생하는 문제를 해결하기 위해 개발된 재사용 가능한 솔루션입니다. 디자인 패턴은 설계 문제의 구조화된 해결책을 제공하며, 소프트웨어 시스템의 유지 보수성, 확장성, 유연성 등을 개선하는 데 도움을 줍니다. 2. 싱글톤 패턴 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴을 말합니다. 하나의 클래스를 기반으로 여러 개의 개별적인 인스턴스를 만들 수 있지만, 그렇게 하지 않고 하나의 클래스를 기반으로 단 하나의 인스턴스를 만들어서 이를 기반으로 로직을 만드는데 쓰입니다. 보통 데이터베이스 연결 모듈에 많이 사용합니다. 하나의 인스턴스를 만들어 놓고 해당 인스턴스를 다른 모듈들이 공유하면서 사용합니다. 이러한 특징 덕분에 인스턴스를 생성할..