Dev/Swift 내 정리7 [Architecture] Clean Architecture 나만의 언어로 정리하기 이해를 위해 직접 ppt로 그리면서 적어보았습니다 전체적인 흐름 Service를 UseCase라고 생각해주시면 될 것 같습니다. 아래 글에서는 'Service(UseCase)' 이와 같이 표기했습니다. Presentation Layer MVVM View는 뷰를 선언하고 레이아웃을 처리하고 애니메이션 처리 등 UI를 그리는데에만 집중합니다. 사용자에게 들어온 Input 이벤트를 ViewModel에게 전달하고, 변경된 값을 View에 그립니다. 변경된 값을 감지하는 방법으로는 - Observer Pattern을 기반으로 한 RxSwift나 Combine를 통해 ViewModel안에 있는 "화면에 그릴 값"들을 감시하는 방법 - didSet과 closure를 통해서 값이 업데이트가 됐다는 이벤트를 받는 방법 .. 2023. 4. 11. final 키워드를 왜 사용할까?? 정리 final 키워드를 왜 사용할까? 결론부터 결론부터 말하고 차근차근 하나씩 알아보도록 하겠습니다 ! 만약 결론부분만 보시고 이유가 그냥 떠오른다?? 결론만 읽으시고 다아는내용이네.. 하고 뒤로가셔도 됩니다 ! 그렇지 않다면 같이 하나씩 살펴볼까요??😄 전반적인 구성과 예시는 WWDC21 Understanding Swift Performance를 참고했습니다. Class는 default로 메서드들을 dynamic dispatch(뒤에서 다룰 예정! 모른다면 일단 넘어가자)합니다. 이것 자체로는 static dispatch(이것도 뒤에서 !!)와 크게 다르지 않지만, method chaining같은 경우에 inlining(이것도 뒤에서 static dispatch와 같이 설명할 예정!)같은 최적화를 불가능하.. 2023. 4. 5. [Swift]비동기(Async) ≠ 동시성(Concurrency) feat. 병렬성(Parallel) 비동기(async) ≠ 동시성(concurrency)다시 한번 강조 !!비동기(async)와 동시성(concurrency)은 다르단다..뭐지?? 단어가 다른건 알겠는데 거기서 거기 아닌가..? 전 처음 들었을 때 무슨 말장난인줄 알았습니다.. 비동기와 동시성 이름만 두고보면 정말 뭐가 다른지 너무 헷갈려서 정리를 한번 하고가고자 합니다. 저와 같았던 분들도 이 글을 통해서 어느정도 정리가 되셨으면 하네요 간단히 말하면 비동기는 작업 하나에 대한 처리 방법이고, 동시성은 여러 작업들에 대한 처리 방법입니다.비동기는 작업을 Dispatch Queue에 보낸 후에 바로 신경을 끄고 다음 일을 하는 것을 말하고 동시성은 Queue에 있는 작업들을 여러개의 스레드에서 처리하는 것을 말합니다. 이렇게 끝내면 아쉬우.. 2023. 3. 16. 이전 1 2 다음