소프트웨어 시스템의 기본적인 구조를 설계하고 이를 컴포넌트로 분할하며, 컴포넌트 간의 상호 작용 및 데이터 흐름을 정의하는 것을 말한다.
MVC은 내가 예전에 작성한 글을 보면 어떤 구조인지 알 수 있다.
👉 MVC 패턴으로 설계하기
다시 간단하게 설명하자면, Model은 데이터 부분, View는 보여지는 부분, Controller는 Model과 View의 사이에서 처리를 해주는 부분이다.
이번에는 내가 알고있는 내용과 추가로 MVC패턴의 장단점 부분도 강의로 알게되었다.
장점인 부분은 이미 알고있던 부분이지만, 단점인 부분은 최근까지는 모르고 있던 부분이였다. 하지만 최근에 프로젝트를 진행하면서 위의 단점 부분이 확 와닿게 되었다. View Controller가 길어지면 최소 300줄 이상의 긴 코드가 되기도 했다.
MVVM패턴은 이전에 많이 들었지만, 실제로 적용해본 적은 없는 패턴이다.

MVVM패턴은 'Model', 'View', 'ViewModel'로 분류할 수 있다.
이번에 개인과제를 진행할 때는 규모가 작은 프로젝트라 단점이 명확하겠지만, MVVM패턴을 공부할겸 MVVM패턴을 적용해보려고 한다.
디자인 패턴은 소프트웨어 개발에서 자주 발생하는 문제에 대한 해결책을 재사용 가능한 형태로 정리한 것이다.
Delegate 패턴은 우리가 흔히 사용하는 CollectionView나 TableView를 사용할 때 볼 수 있다.
직접 만드는 방법은 protocol를 통해서 만들 수 있다.
Observer 패턴을 사용하면 변경사항을 적용할 객체 간의 직접 호출을 피할 수 있으며, 유지보수가 쉬워진다.
Singleton 패턴을 사용하면, 하나의 객체에서 데이터 같은 것을 모두 접근할 수 있다. 하지만 결합도가 높아질 수 있기 때문에 조심해야 한다.
혹시 혹시 바쁘지 않고 시간이 되신다면 Observer 패턴과 Singleton 패턴 나중에 설명해주실 수 있을까요... 아직도 이해를 못했습니다.. 이게 그래서 코드에 어떻게 사용되는지 모르겠어요.
Delegate패턴은 잘 모르겠지만 아무튼 컬렉션뷰나 테이블뷰 써줄때 뒤에 :(Collection&Table)ViewDelegate 이렇게 붙는거 이야기 하는것 같고요🤔🤔