소프트웨어공학/아키텍처 패턴
-
RxFlow란소프트웨어공학/아키텍처 패턴 2022. 10. 9. 18:14
이번 글에서는 RxFlow란 무엇인지에 대해 공부한다. RxFlow란 RxFlow is a navigation framework for iOS applications based on a Reactive Flow Coordinator pattern. RxFlow 공식 깃허브에서는 이렇게 정의하고 있다. Coordinator 패턴(+ flow coordinator)은 이전 포스트에서 공부한 적이 있는데 잘 모르겠다면 참고하길 바란다. 결국 Coordinator 패턴을 반응형 기반으로 구현하게 만들어주는 네비게이션 프레임워크인 셈이다. RxFlow를 쓰는 이유 네비게이션 로직을 분리해야 하는 이유는 Coordinator 패턴에 적어뒀기 때문에 다시 언급하진 않으려고 한다. 그럼 왜 굳이 RxFlow를 써야할까..
-
Coordinator 패턴이란소프트웨어공학/아키텍처 패턴 2022. 10. 8. 12:43
이번 글에서는 Coordinator 패턴이란 무엇인지에 대해 공부한다. Coordinator 패턴이란 Coordinator 패턴이란 iOS 앱에서 Coordinator 객체를 만들어 화면간 전환 로직을 담당하게 만드는 패턴을 말한다. Coordinator 패턴은 왜 필요한가 화면 전환 로직은 보통 VC(ViewController)에 두게 된다. A VC에서 B VC로 present나 push를 통해 전환한다면, 스토리보드를 사용하는 경우 segue를 사용할테고, 코드로 구현하는 경우 B VC를 인스턴스화해서 직접 present하거나 네비게이션 컨트롤러에 push 해줄 것이다. 흔한 방식이다. 이게 왜 문제가 되는걸까? 가장 단순한 이유는 VC가 안그래도 비대한데 화면 전환 로직때문에 더더욱 거대해지기 때..
-
아키텍처 패턴이란소프트웨어공학/아키텍처 패턴 2022. 10. 3. 23:31
이번 글에서는 아키텍처 패턴이란 무엇인지, 어떤 아키텍처 패턴이 있는지에 대해 공부한다. 아키텍처 패턴이란 주어진 상황에서, 소프트웨어 아키텍처에 공통적으로 일어나는 문제에 대한 일반적이고 재사용 가능한 해결 방법 디자인 패턴의 정의와 상당히 유사하다. 둘 다 문제에 대한 해결이 패턴화된 것이라 그런듯하다. 다만 조금 다른 점은 아키텍처 패턴의 관심사가 좀 더 넓다는 것이다. 소프트웨어의 전체 아키텍처를 설계할때 발생하는 문제를 해결할때 아키텍처 패턴 사용을 고려하게 되고, 이후 좀 더 자세히 들어가서 각 모듈을 설계할때 발생하는 문제를 해결할때 디자인 패턴 사용을 고려하는 식이다. 소프트웨어 아키텍처의 각 패턴들을 공부해두면, 이전 개발자들은 어떤 문제를 만나서 어떻게 해결하려고 했는지를 배울 수 있다..