내일배움캠프 5일차

임클·2025년 3월 7일

내일배움캠프

목록 보기
5/44
post-thumbnail

일정


KPT 회고

1. 한 주의 흐름

1) 프로젝트

  • 프로젝트 명: 스파르타를 시작하며 (개인프로젝트)
  • 필수 작업: UIKit, 배경화면 변경, 데이터 추가, 카드형태로 저장

1-1) 느낀점

  • UIKit 프로젝트를 처음 해보는 과정에서 많은 어려움이 있었지만, 성장통이라 생각하고 낙담하지 않기로 했다.

2) 데일리미션

  • 웹/앱개발 용어 정리

2. Keep

  • 기존에 해봤던 내용 말고 새로운 방식으로 도전해보기
  • 왜? 라는 생각을 꼭 하기

3. Problem

1) 문제

  • 개발 속도가 나질 않음

2) 원인

  • UIKit Codebase 숙련도 이슈
  • 경험부족

4. Try

  1. 질문하는걸 두려워 하지 않기
  2. UIKit Codebase 익히기
  3. 개발을 떠나서 아키텍쳐, 성능 개선 방식과 이유 고민해보기

싱글톤

싱글톤이란?

싱글톤 패턴은 어떤 클래스가 최초로 인스턴스화될 때, 해당 클래스의 인스턴스가 하나만 생성되고 어디서든 동일한 인스턴스에 접근할 수 있도록 보장하는 디자인 패턴입니다.

장점

  • 장전역적인 접근성: 어디서든 동일한 인스턴스에 접근할 수 있습니다. 다른 객체들이 싱글톤 객체에 접근하여 데이터를 공유하거나 동작을 수행할 수 있습니다.
  • 리소스 절약: 싱글톤 객체는 한 번 생성된 후에는 재사용되므로, 반복적인 인스턴스 생성이 필요하지 않습니다. 이를 통해 리소스 사용을 절약할 수 있습니다.

단점

  • 테스트 어려움: 싱글톤 객체는 전역적으로 접근 가능하므로, 테스트 시에 의존성을 관리하기 어려울 수 있습니다. 의존성 주입(Dependency Injection) 패턴을 함께 사용하여 이를 극복할 수 있습니다.
  • 상태 관리 어려움: 싱글톤 객체는 애플리케이션 전역에서 공유되므로, 상태 관리가 복잡해질 수 있습니다. 상태 변경에 대한 동기화나 상태 변화 추적 등을 신경써야 합니다.
  • 상태 공유의 필요성: 해당 객체가 반드시 싱글톤 구현되어야 하는지를 고려해야 합니다. 모든 상황에서 동일한 인스턴스를 공유할 필요가 있는지를 신중하게 판단해야 합니다.
  • 의존성 관리: 싱글톤 객체는 다른 객체에 대한 의존성을 가지기 쉽습니다. 이로 인해 의존성 주입(Dependency Injection) 패턴을 적절하게 활용하여 테스트 용이성과 유연성을 유지할 수 있도록 해야 합니다.
  • 다중 스레드 환경: 싱글톤 객체가 다중 스레드 환경에서 안전하게 동작할 수 있도록 적절한 동기화 메커니즘을 구현해야 합니다. 동시에 여러 스레드에서 싱글톤 객체에 접근하는 경우에도 안정성을 보장해야 합니다.
  • 대안 고려: 싱글톤 패턴이 필요한 경우에는 대안을 고려할 가치가 있습니다. 의존성 주입, 전역 객체 등의 대안 패턴을 고려하여 적절한 설계를 선택할 수 있습니다.

의존성, 의존성 주입

https://ios-daniel-yang.tistory.com/entry/iOSSwift-%EC%9D%98%EC%A1%B4%EC%84%B1-%EC%A3%BC%EC%9E%85-%EC%9D%98%EC%A1%B4%EC%84%B1-%EC%97%AD%EC%A0%84%EC%9D%B4%EB%9E%80#google_vignette

0개의 댓글