Architecture, Design Pattern(12)
-
[Design Pattern] 내가 보려고 정리하는 Swift 디자인 패턴 (9) - 데코레이터 패턴(Decorator Pattern)
1️⃣ 데코레이터 패턴(Decorator Pattern) 왜(Why) 쓰는 거야?💡 데코레이터 패턴(Decorator Pattern)은 객체에 새로운 기능을 동적으로 추가할 수 있게 해주는 구조 패턴(Structural Pattern)이다.객체에 새로운 기능을 동적으로 추가하기 위해 쓴다고...?이미 Swift에서 기능을 추가하는 방법으로 (1) 기존 클래스에서 "상속"을 받아 하위 클래스로 구현하거나, (2) Extension으로 기능을 "확장"시킬 수 있는데 굳이 이 디자인 패턴을 쓰면서까지 기능을 추가할 필요가 있을까..? 하는 것이 나의 첫 생각이었다.하지만, 데코레이터 패턴(Decorator Pattern)을 사용했을 때 상속과 확장에 비해 확연하게 구분되어 얻을 수 있는 장점이 있었다.아직 ..
2024.08.22 -
[Design Pattern] 내가 보려고 정리하는 Swift 디자인 패턴 (8) - 어댑터 패턴(Adapter Pattern)
1️⃣ 어댑터 패턴(Adapter Pattern)이 뭐야?💡 어댑터 패턴(Adapter Pattern)은 서로 호환되지 않던 인터페이스(protocol)를 변환시켜 함께 작동할 수 있도록 만드는 구조 패턴(Structural Pattern)이다.위의 말이 무슨 말인지 잘 이해가 안된다면 아래와 같이 이해해 보는 건 어떨까?기존에 사용하고 있던 규격이 이미 있는 상황에서, 새롭게 사용하려는 시스템의 규격이 기존 규격과 맞지 않는다면? -> 어댑터(Adapter)라는 변환 도구를 중간에 두어 기존 규격과 새로운 규격을 함께 사용할 수 있도록 만드는 것이 바로 어댑터 패턴이다.어댑터 패턴에서 반복적으로 사용하는 용어는 아래 네 가지다.Target (Interface = Protocol) : 기존 시스템이 사..
2024.08.05 -
[iOS] Clean Architecture + MVVM + Observable 사용해서 날씨앱 리팩토링하기
⚠️ 해당 글은 Robert C. Martin의 너무도 유명한 책과 Oleh Kudinov라는 분의 Medium 글 Clean Architecture and MVVM on iOS를 참고해서 작성했습니다.번역 또는 프로젝트의 목적, 그리고 저의 부족한 이해력 때문에 일부 잘못된 내용이 있을 수 있다는 점. 전제하고 읽어주시면 감사하겠습니다 (잘못된 개념 제보 및 질문 댓글로 얼마든지 환영입니다:) ^__^ + 아 그리고 글이 조금 깁니다...어쩌다보니.. GitHub - mini-min/Clean-Architecture-iOS: 🍎 날씨앱 클론코딩으로 공부하는 클린 아키텍처 (feat. Robert C. Ma🍎 날씨앱 클론코딩으로 공부하는 클린 아키텍처 (feat. Robert C. Martin) - ..
2024.07.28 -
[Design Pattern] 내가 보려고 정리하는 Swift 디자인 패턴 (7) - 코디네이터 패턴(Coordinator Pattern)
1️⃣ 코디네이터 패턴 (Coordinator Pattern) 왜 (Why?) 쓰는 거야?예전 MVC 글에서도 다룬 적이 있지만, 기본적으로 iOS 개발에서 사용되는 아키텍처의 대표적인 문제는 Massive ViewController, 즉 View와 Controller를 합쳐서 사용하는 ViewController의 책임과 역할이 너무 많다는 것이었다.👇🏻 MVC Pattern 글을 리마인드하고 싶으면, 아래 글을 확인할 것! [Architecture Pattern] 내가 보려고 정리하는 Swift 아키텍처 패턴 (1) - MVC 패턴 (Model-View-Controller)💡 글을 시작하기 전에, 아키텍처 패턴 (Architecture Pattern)이 무엇인지 설명하고 넘어가자면!아키텍처 패턴은..
2024.07.04 -
[Architecture Pattern] 내가 보려고 정리하는 Swift 아키텍처 패턴 (1) - MVC 패턴 (Model-View-Controller)
💡 글을 시작하기 전에, 아키텍처 패턴 (Architecture Pattern)이 무엇인지 설명하고 넘어가자면!아키텍처 패턴은 애플리케이션에서 필요한 주요 부분을 각각 분리하여, 역할을 명확하게 구분하는데 사용되는 일종의 "규칙"과 같은 개념이다.이렇게 역할을 구분함으로써 코드의 유지보수성도 올라가고, 재사용성도 올라가고, 코드 가독성도 높이는 (코드의 한 부분이 너무 길어서 "이게 뭐하는 코드야"라는 생각을 가지지 않아도 되니까!) 효과를 얻을 수 있다.-> 소프트웨어를 만든다고 하면, 본인도 알게 모르게 기본적인 아키텍처 패턴은 사용되고 있다. 1️⃣ MVC (Model-View-Controller) 패턴이 뭐야?MVC(Model-View-Controller) 패턴은 가장 기본적인 애플리케이션의 설..
2024.07.02