 Apple Lover Developer & Artist

영속적인 디자인에 현대의 공감을 채워넣는 공방입니다

반응형

Design 3

[Challenge] 🛠️ iOS 앱 설계 퓨전 레시피 7부 - 네트워킹 코드 모델링

Overview 음식점 서버 API와의 네트워크 통신 기능을 구현해 보고 공통 작업을 추상화시킨다. 들어가기 앞서 Swift Concurrency, Protocol, Generic 개념을 활용하고 있기에 이를 익히고 보면 포스팅을 재미있게 즐길 수 있다! Networking Common Process 서버 API를 활용해 클라이언트가 데이터를 요청하고 응답받을 수 있도록 도와주는 객체가 있다. Foundation 프레임워크의 URLSession 이 그 주인공이다. Fetching Website Data into Memory- Apple Developer 아티클을 통해 URLSession을 활용하여 통신 코드를 작성하는 예시를 확인할 수 있다. 쉽게 말하자면 통신 코드가 구현하는 작업은 크게 3가지로 구분..

[Challenge] 🛠️ iOS 앱 설계 퓨전 레시피 3부 - 책임의 밀당

Overview UIKit 애플리케이션의 기본 개발 패턴은 Cocoa MVC였다. 대표적으로 View Controller와 같이 책임이 결합된 경우를 생각해 볼 수 있다. 이때, 개발자가 코드를 잘 못 디자인하면 한 객체의 책임이 커져버리는 문제가 생긴다. 코드를 리팩터링 하기 위해 역할과 책임을 다시 나눠본다. Problem objc.io 사이트의 Ash Furrow 님이 작성하신 Introduction to MVVM 자료를 인용하였다. Cocoa MVC에서 활용되는 결합된 역할의 대표 사례인 View controller는 UIKit 어플리케이션에서 주요하게 사용되는 클래스이다. Cocoa MVC를 UIKit 애플리케이션의 실제 클래스 다이어그램 구조로 표현하면 다음과 같다. ViewController..

[이야기] 인간 중심의 디자인 설계

Overview 22년 가을 학기, 학교 강좌 중 소프트웨어 디자인 패턴 과목을 수강하고 있다. 엉클 밥 선생님께서 쓰신 Agile Software Development , 오렐리의 헤드 퍼스트 디자인 패턴 책을 읽으면서 김인규 교수님과 학우분들이 서로 생각을 공유하는 방식으로 진행되었다. 나는 언어 사용법 지식을 "열심히" 공부했다. 객체지향 프로그래밍을 배웠다고 생각했다. 그리고 그것이 문제였음을 인식했다. 인터넷에 떠도는 정보를 보고 피상적인 지식만 찾아다닌 것은 아닌지 생각해보았다. 인간이 새로운 도구를 만들 때에는 무언가를 효율적으로 더 잘해내기 만들지는 않았을까? 내가 무엇을 하려고 이런 메뉴얼 들을 들춰보고 있던 것일까? Agile Software Development 관습을 통해 인간 중심..

반응형