오늘 조금 공부해본 영역은 MVC패턴이다.
보통의 웹개발의 경우에는 MVC패턴이라하면 조금 명확하게 나뉘어 진다.
View야 프론트엔드에서 개발하는 부분으로 사용자가 직접적으로 볼 수 있는 UI 이고 Model의 경우 DTO, Controller의 경우는 View에서 호출하여 service와 연결해주는 역할을한다.
보통 이렇게 이해를 하고 있었다.
하지만 앱개발에서는 난감한 문제가 있었다.
바로 View와 Controller의 역할을 어떤식으로 나누어야 할까이다.
애초에 Ios에서는 코드베이스로 진행하게 되면 UI를 controller에다가 그리게 된다.(심지어 이름도 ViewController가 기본 이름이다.)
차라리 View를 생성하고 SceneDelegate에서 시작controller를 view로 변경하여 하는 방법도 있을것 같다.
view의 경우에는 다들 UI를 만들어 놓고 있는것 같다.
다만 controller의 로직을 어떤식으로 어디까지 넣어야할까라? 라는 고민을 하게 되었다.
예를 들면 이런 부분이다. 계산기를 만들때 계산하는 로직의경우에는 Service에서 만든다.
그럼 UI -> Controller -> Service를 통하여 계산을 하게 될것이다.
다만 그렇다면 Button의 이벤트는 어디에 구현을 해야할까?
Button의 경우에는 분명 UI이기 때문에 View에 생성을 해야한다.
거기에 설정을 View에다 생성을하였다 다만 그 버튼에 로직이 있는경우에는 어떤식으로 해야하지? 라는 부분에대하여 아직 고찰이 필요한 부분이다.
UI(Button) -> buttonEvent -> 로직 -> contoller -> service
----------------- View------------> contoller -> service
이런식이 되어야할까? 아니면 로직이 controller에 구현하여 Service를 변경해야할까
View에 넣자니 View에 너무 많은 기능이 들어가게 되는것 같고
controller에 넣자니 지금 내가 배운 기준으로는 아직 Contoller에서 View를 제어하는 것이 힘들다.
'Ios > Today' 카테고리의 다른 글
[Today] Combine과 RxSwift의 차이점을 끄적임 (0) | 2024.06.10 |
---|---|
[Today] codebase? 그런 것에 대한 장단점 (0) | 2024.06.05 |
[Today] 객체지향(OOP) 특징의 끄적임 (1) | 2024.06.04 |
[내배캠] 목표 설정 (0) | 2024.05.27 |