디자인 패턴

이번 편은 조금 쉬어가고자(?) 조금 익숙한 주제를 골라봤습니다. 바로 SOLID입니다! 엥, 갑자기 무슨 SOLID냐? 너무 기본 아니냐? 라고 하실 수 있습니다.아무래도 이전 글들에 비하면 주제가 몇 년 전으로 돌아간 느낌입니다.그래도 막 들어온 따끈따끈한 우테코 7기 친구들도 있고, 학교에서 이제 객체지향을 배우는 친구들도 어딘가에 있을 테니까요? 이전에 SOPT에서 SOLID를 주제로 세미나를 하기도 해서 금방 적을 수 있을 거로 생각했습니다. 그런데 알고 있는 것과 별개로 간만에 이야기 하려니 생각보다 오래 걸리네요.예시도 바로 안 떠오르고.. 어쩌면 잊고 살았는지도 모르겠습니다. SOLID라는 단어를 들으면 각자의 세대에 따라 다른 단어를 떠올릴 것입니다.누군가는 가수를, 누군가는 카트라이더를..
지난 번에는 MVC to MVP를 작성했었다. 우테코 레벨 2 내내 MVP 패턴으로 개발했고 느낀 것들로 MVP가 좋은 점에 대해 설명했다. 그래서 이번엔 레벨 3 내내 함께한 MVVM 패턴에 대해 이야기해보려고 한다. MVVM을 간략하게 설명하자면 Model + View + Viewmodel 이다. MVVM도 MVP와 마찬가지로 MVC에서 파생된 패턴이라고 할 수 있다. MVP에서 바뀐 부분은 한 가지로 Presenter가 ViewModel이 된 것이다. 이제 이 부분에 대해 살펴보자. 뷰와의 의존 관계 MVP에선 (추상화를 통해) 뷰와 프레젠터가 서로를 (느슨하게) 알고있었다. 뷰와 프레젠터 모두 서로를 인터페이스에 정의된 함수들을 통해 호출하였다. 그러므로 뷰와 프레젠터 서로에게 의존하는 양방향 의..
MVC 우테코의 레벨 1 미션은 MVC 패턴으로 수행했다. MVC를 간략히 설명하자면, 모델과 뷰를 분리하고 모델과 뷰 사이를 컨트롤러가 연결해주는 형식이다. 컨트롤러는 유저가 뷰를 보고 발생시키는 이벤트를 전달해 모델을 변경하고 모델의 변경 사항을 다시 뷰에 적용한다. 컨트롤러는 한 개만 존재하므로 컨트롤러와 뷰의 관계는 1:N이 된다. 어찌 됐든 중요한 점은 모델과 뷰를 분리한다는 것이다. 레벨 1은 코틀린으로만 미션을 진행했지만 레벨 2는 안드로이드 프레임워크 위에서 미션이 진행되었다. 그래서 안드로이드에 종속적이게 되었고 이전과는 몇 가지 다른 점이 발생한다. MVC In Android 안드로이드에선 뷰 그 자체인 xml 파일과, 해당 뷰의 이벤트를 전달 받고 변화시키는 액티비티가 존재한다. 하나..
인터루드
'디자인 패턴' 카테고리의 글 목록