본문 바로가기
728x90

분류 전체보기86

객체지향, 함수형, 반응형 프로그래밍 프로그래밍 패러다임 프로그래밍 스타일을 의미하며, 전체적인 프로그래밍 방식을 의미한다. 패러다임의 뜻은 (세계를) 이해하는 방식, 인식틀을 의미한다. 객체 지향 프로그래밍(OOP) 필요한 데이터를 추상화 시켜 상태와 행위를 가진 객채로 만들고, 그 객체들간의 유기적인 상호작용을 통해 로직을 구성하는 방법 장점 코드 재사용 용이 -> 남이 만든 클래스를 가져와서 이용할 수 있고, 상속을 통해 확장해서 사용 가능 유지 보수 쉬움 -> 수정해야할 부분이 클래스 내부에 맴버 변수혹은 메서드로 존재하기 때문에 유지보수 쉬움 대형프로젝트에 적합 -> 클래스 단위로 모듈화시켜서 개발할 수 있으므로 업무 분담하기 쉬움 단점 처리 속도가 상대적으로 느림 객체가 많으면, 용량이 커질 수 있음 설계시 많은 시간과 노력이 필.. 2023. 9. 11.
MVVM in iOS MVVM in WPF (MVVM의 역사) MVVM은 WPF (Windows Presentation Foundation) 및 Silverlight의 기능을 활용하여 이벤트 중심 프로그래밍을 간소화하기 위해 Microsoft 아키텍처 Ken Cooper 및 Ted Peters가 개발했다. XAML (Extensible Application Markup Language) 디자이너를 위한 UI 개발환경 프로그래밍이 필요한 요소를 줄임 선언적인 UI 작성가능 ViewModel in WPF UI에 표시할 상태와 로직을 작성 UI에서 발생한 이벤트(버튼클릭등)를 위임받아 처리 ViewModel에서 발생한 변경을 UI에 반영 전통적인 개발자보다 디자이너를 위한 UI 개발환경 제공 기존 XML, HTML 보다 쉬운 XA.. 2023. 9. 4.
[Swift] Protocol 프로토콜 [1] 프로토콜 Protocol 이란? 특정 역할을 하기 위한 메소드, 프로퍼티, 기타 요구사항등의 청사진 프로토콜의 사용 구조체, 클래스, 열거형은 프로토콜을 채택해서 특정 기능을 실행하기 위한 프로토콜의 요구사항을 실제로 구현 할 수 있다. 프로톨클은 기능을 정의하고 제시 할 뿐, 스스로 기능을 구현하는 것은 아니다 (조건만 정의) 스위프트에서 프로토콜은 하나의 타입으로 사용된다. 파라미터나 리턴타입으로 사용 프로퍼티, 변수, 상수의 타입으로 사용 배열 등 컨테이너 요소의 타입으로 사용 프로토콜의 형태 protocol Student{ var name: String {get} var grade: Int {get set} static var Number: Int {get set} } 프로토콜의 요구사항 프로퍼티.. 2023. 9. 1.
[Swift] struct, class, enum struct, class, enum 스위프트의 기본 자료구조 블럭이다. 세가지 모두 같은 방식으로 정의 된다. class jife { } struct jife{ } enum jife{ } 구조체와 클래스는 프로그래머가 데이터를 용도에 맞게 묶어 표현하고자 할 때 용이하다. 스위프트에서는 구조체와 클래스의 모습과 문법이 흡사하다. 하지만, 구조체struct와 enum의 인스턴스는 값 타입이고, 클래스class 의 인스턴스는 참조 타입이다. 구조체 struct 값 타입이란? 힙을 전혀 사용하지 않고 Stack에만 값이 쌓인다는 것이다. 또한 값 타입이기에, 힙을 사용하는 class보다 더 빠르다. 상속은 불가하나, 이니셜라이저를 자동으로 만들어준다. 구조체는 memberwise init을 통해 자동으로 초기.. 2023. 8. 31.
[RxSwift] ReactiveX, RxSwift 왜 써야할까? Swift란? Swift 는 객체지향 프로그래밍 패러다임(OOP)과 함수형 프로그래밍 패러다임(FP)을 가지고 있는 프로토콜 지향 언어이다. 기존 Apple에서 개발하기 위해 지원하는 프래임워크는 객체지향 프로그래밍 패러다임으로 설계 되어있다. 맥을 개발하기 위해 지원하는 프래임워크는 코코아라 부르고 모바일용을 개발하기 위한 프래임워크는 코코아 터치라고 불린다. 하지만. Swift는 OOP와 FP 중에 함수형 프로그래밍 패러다임을 강조한다. 여기서 그러나,(ㅎㅎ) Swift 가 함수형 프로그래밍 언어는 아니다. Apple은 2015년 9월 WWDC에서 Swift는 프로토콜 지향 언어(Protocol Oriented Programming Language, POP)라고 발표 했다. 이때가 Swift 2.0 .. 2023. 8. 30.
MVP (Model - View - Present) 세 가지 형태의 MVP 1) Taligent MVP - Model, View, Presenter, Interactor, Selections, Commands 로 계층을 세분화 - Mike Potel(Taligent사 CTO) 이 MVC를 보다 세분화한 아키텍처로 MVP를 제시 2) Supervising Controller - 간단한 프레젠테이션 로직은 뷰에서 처리, 복잡한 프레젠테이션 로직은 프리젠터가 처리 - 프레젠테이션 모델 페턴에서 끊겼던 모델과 뷰 사이의 옵저버 패턴이 부활 3) Passive View - 로직을 배제하고 화면을 출력하는 소극적인(Passive)역할만을 담당하는 뷰 - 옵저버 바인딩을 사용하지 않으며, 모델과 뷰 사이의 관계도 끊어짐 - TDD의 유행과 맞물려 보다 테스터블한 코드.. 2023. 8. 28.
728x90
반응형