여러가지 디자인 패턴에 대해 하나씩 정리할 예정인데, 그 첫 번째로 Delegation패턴을 준비해 보았습니다🤗 ✅ Delegate? 명사: (집단의 의사를 대표하는) 대표(자) 동사: (권한업무 등을) 위임하다 Delegate라는 단어의 뜻에서 예측할 수 있듯, 델리게이션 디자인 패턴은 대표로 지정된 객체가 다른 객체를 대신해 동작 또는 조정할 수 있는 기능을 제공해요😲 실생활의 예로, 사장과 비서가 있다고 봅시다..! // 비서는 CEO가 할 일을 대신해줌 // 비서에게 CEO의 권한과 할 일을 위임(Delegate) // CEO가 어떠한 요청을 보낼 때, 비서가 어떤 일을 할 지를 미리 협약해야함 -> protocol로! protocol secretarial { // CEO는 비서에게 뭐(검색키워드..
model - view - viewModel = 데이터(struct) - UI요소(UIView, UIViewController) - 중계자(ViewModel) mvc의 controller의 비중을 줄였다. (controller의 직접적인 view접근을 막는다.) [ -- Refactoring -- ] 직접적인 입력 데이터는 viewModel에서 model의 struct형식을 이용하여 가져온다. viewModel의 메소드를 이용하여, view(controller)가 model에 직접적으로 접근하지 못하게 한다.
model - view - controller = 데이터(struct) - UI요소(UIView) - 중계자(UIViewController) view에서 사용자의 액션에 따라 controller가 model에 접근하여, 사용자가 원하는 결과값을 전달해주는 형태. -> controller의 비중이 높아, 기술부채가 생기는 한계를 가지고 있음. developer.apple.com/library/archive/documentation/General/Conceptual/DevPedia-CocoaCore/MVC.html Model-View-Controller Retired Document Important: This document may not represent best practices for current ..