목록iOS/디자인패턴 (5)
꾸준히 안타치기
MVVM의 장점 / ⭐️⭐️⭐️View와 그외 요소들간의 의존성 분리 모듈화가 가능 -> 모듈화가 잘되면 유닛테스트에 용이 뷰와 모델의 간의 종속성이 줄어들어 소스코드를 보기가 편하다. 뷰를 직접 조작하지 않아 영역이 독립적이다. 모듈화가 되어있기 때문에 문제있는 부분만 고치면되서 유지보수가 용이하다. MVC = 무거워지고 유지보수가 어려워서 개선되서 나온것이 MVVM 선언형 패턴 M 모델 구조체 - 앱의데이터와 비지니스 로직 캡슐화 V는 사용해오던 뷰컨트롤러, UI ViewModel- 중개자 뷰모델이 model을 갖고 있고, 데이터가 바뀌면 알수있다. 앱의 로직담당 모델이 데이터가 변경되면, 뷰모델에 알려준다. 뷰가 변경되면 -> 액션을 취하면 뷰모델에게 알리고 -> 뷰를 갱신함( 뷰는 뷰모델을 구독하..
MVC : 역할에 따라 구분해서 프로그램을 나눠보자 MVP : 화면과 로직을 분리하자. MVVM : 화면은 알아서 그리렴. 나는 데이터만 바꿀테니 MVVM이 나오게 된 이유 MVC에서 Controller는 비지니스 로직도 처리하고 UI도 처리하고 혼자 일을 다해서 Controller가 힘들어졌다.. 그래서 MVP의 Presenter라는 것이 나왔고, MVP에서 로직처리는 Presenter가( input들어오면 무조건 프레젠터한테 알려줘! / 프레젠터는 UI와 상관이 없어졌고, 뷰와 모델 분리) 뷰와 모델사이에서 모든상황에 중개자 역할을 했다. 이렇게 뷰와 모델을 분리하게 되었으나 Presenter 또한 중개를 혼자하니 Presenter도 힘이 들었다. Presenter 뷰와 일대일의 관계로 뷰를 만들때마..
싱글턴 (SingleTon) 싱글턴은 '특정 클래스의 인스턴스가 오직 하나임을 보장하는 객체'를 의미합니다. 싱글턴은 애플리케이션이 요청한 횟수와는 관계없이 이미 생성된 같은 인스턴스를 반환합니다. 즉, 애플리케이션 내에서 특정 클래스의 인스턴스가 딱 하나만 있기 때문에 다른 인스턴스들이 공유해서 사용할 수 있습니다. 클래스가 여러번 호출되어도 딱 한 객체만 생성되도록 하는 디자인패턴이다! ex) 세팅을 관리하는 객체는 반드시 하나만 존재해야한다. https://youtu.be/lJES5TQTTWE?t=62 / 객체지향 패턴 얄팍한코딩사전 링크 Cocoa 프레임워크에서의 싱글턴 디자인 패턴 Cocoa 프레임워크에서 싱글턴 디자인 패턴을 활용하는 대표적인 클래스를 소개합니다. 싱글턴 인스턴스를 반환하는 팩..
📘 Model - 데이터 클래스( 프로세스가 동작중일때 메모리(변수)안에 데이터가 있는 상태) ⭐️ Controller | 모델과 뷰를 이어주는 부분 - 모델의 데이터를 해석하고 구성해서 뷰에게 전달한다. - 뷰에서 발생하는 이벤트를 입력받아 처리 /UI로직 - 뷰와 모델을 변화시키는 알고리즘이나 소스코드가 위치한 곳 📱 View - 화면에 표현 / 사용자 눈에 보이는 모든 것 버튼, UI레이블, 등등 (뷰는 컨트롤러의 하인) Model - View - Controller MVC(Model-View-Controller) 디자인 패턴은 애플리케이션의 객체를 모델, 뷰, 컨트롤러의 세 가지 역할 중 하나의 역할로 할당합니다. 이 패턴은 애플리케이션 내에서 객체가 수행하는 역할 뿐만 아니라 객체가 서로 통신하..
https://www.boostcourse.org/mo326/lecture/16876?isDesc=false 프로그래밍 디자인 패턴이란 무엇인가? 디자인 패턴의 저명한 인사들이 내린 정의입니다. • GoF "특정한 상황에서 일반적 설계문제를 해결하기 위해 상호교류하는 수정 가능한 객체와 클래스들에 대한 설명이다." • 라만(C. Larman) "숙련된 객체지향 개발자 및 기타 소프트웨어 개발자는 소프트웨어 개발의 가이드라인이 되는 일반적인 원칙들과 관용적인 해결책들의 레퍼토리(repertoire)를 구축한다. 패턴은 이러한 원칙들과 관용적 해결책들이 문제와 해결책을 기술하는 구조적인 형태로 체계화되고 명명된 것이다." 프로그래밍 디자인 패턴은 소프트웨어를 설계할 때 특정 상황에서 자주 사용하는 패턴을 정..