iOS/디자인패턴

    디자인패턴 - 싱글턴 패턴(Singleton Pattern)

    싱글턴 패턴에 관해서 이야기는 자주 들어봤지만, 자세히 알아보니 놓쳤던 부분이 많아서 정리를 하게 되었습니다,, 우리가 보통 알고 있는 내용은 오직 한 개의 클래스 인스턴스만을 갖도록 보장하고, 이에 대한 전역적인 접근점을 제공한다. 정도가 되겠네요! 언제 사용하지?? class UserInfo { var name: String? var address: String? var number: String? } UserInfo라는 클래스를 사용해서 회원가입을 진행하는 상황이라고 생각을 해봅시다. 그런데 이제 한 개의 뷰컨트롤러가 아닌 세 개의 뷰컨트롤러에서 각각 name, address 그리고 number를 입력받아서 저장해야 하는 상황! // userInfo의 name 설정 class VC1: UIViewC..

    swift - Coordinator Pattern

    Coordinator? 코디네이터 패턴을 제시한 Soroush Khanlou씨는 코디네이터를 다음과 같이 설명합니다. 하나 이상의 뷰 컨트롤러에게 뷰의 트랜지션을 지시하는 객체다! 약간 말이 어렵지만, 하나 이상의 뷰 컨트롤러의 화면 전환, 계층에 대한 흐름을 제어하는 객체라고 생각하시면 됩니다. 일반적으로 뷰 컨트롤러를 전환한다고 하면 이러한 모습을 가지고 있죠? 뷰 컨트롤러A는 뷰 컨트롤러 B에 대해 알고 있어야 하는 구조입니다! 하지만 Coordinator 패턴에서 뷰 컨트롤러A는 Coordinator 인스턴스만 가지고 있고, 뷰 컨트롤러 B에 대해서는 알 필요가 없습니다! 화면 전환을 하고 싶으면 Coordinator에게 요청을 하는 구조입니다. 어떠한 장점이 있을까? 일반적으로 코드를 작성할 때..

    swift - MVVM 패턴 (feat. MVC)

    iOS 공부를 하면서 MVC나 MVVM 등, 다양한 패턴에 대해서 들어 보셨을 겁니다. 그런데 이런 패턴을 적용하는 이유가 뭐지?? 그냥 돌아가기만 하면 되는 거 아닌가?? 라는 생각을 했었지만... 프로젝트의 크기가 커진다면? → 에러가 난 부분을 찾는 것과 로직 파악이 어렵다 (분명 내가 짠 코드인데...?) 함께 협업하는 상황이라면? → 잇시 이거 누가 짰어! (그 코드를 이해하는 데 어려움이 발생) 문제점은 여러가지가 있겠지만 그 중에서도 위의 문제가 중요하다고 생각합니다. 적절한 비유는 아니지만... 만약 자취를 한다고 생각하면! 혼자 산다! 그러면 뭐 대충(?) 살겠죠. 분명 내가 던져 놓은 물건인데 필요할 때에는 꼭 찾기 어렵고... 하지만 함께 산다! 서로 민폐가 되지 않기 위해서 규칙을 ..