ando-andy / CleanArchitecturePractice

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

The goal of this practice

Comprehension and implementation of

1. Clean Architecture

  • 1-1 Dependency Injection
  • 1-2 Dependency inversion principle
  • 1-3 SOLID principle

2. Reactive Programming

  • 2-1.Rxswift
  • 2-2.MVVM

What is CleanArchitecture + RxSwift + MVVM ?

へんしゅうちゅう〜

CleanArchitecure

1

concept of CleanArchitecture2

SOLID Principle3

DI(Dependency Injection)

4

RxSwwift

Rx 用語まとめ(words)

  • Stream (Sequence)...

データがイベントとして連なった流れ5

  • Observable...

Rxswiftにおけるストリームを生産する概念としてのクラスObservable

  • オペレータ...

ストリームに対して処理を行うメソッド。 filter・map・merge・zip・reduce etc

-ストリームの購読(subscribe)...

ストリームから伝搬されてくるイベントを順次処理する仕組み

  • 関数型プログラミング...

関数によって複数の処理を組み合わせる 入力と出力の関係だけのコードで書くことが推奨(外部のデータを変更しない)

  • DisposeBag...

Observableを自動的に解放するための機能6

Footnote

1: CleanArchitecture

2: 5 minutes to understand CA

3: SOLID Principles every Developer Should Know

4: What is Dependency Injection?

5: RxSwift + MVVM by ishkawa

6: DisposeBag + weak reference

Reference

Web

Article

Japanese

Clean Architecture (translated from Eng)

5 minutes to understand CA

Begineer for Rx

Observer pattern Wiki

RxSwift + MVVM by ishkawa

DisposeBag + weak reference

English

CleanArchitecture by Uncle Bob

What is Dependency Injection?

SOLID Principles every Developer Should Know

Code

Engish

Folked from this project

Example of Clean Architecture of iOS app using RxSwift

Easy to generate the structure of Dependency Injection

Japanese

Example1 code of CA (from peaks)

Example2 code of CA (from quita)

Example of RxSwift(from quita)

Book

Japanese

「Clean Architecture(達人に学ぶソフトウェアの構造と設計)」 (translated from English version)

「iOSアプリ設計パターン入門」

「RxSwift 研究読本1 入門編」

「RxSwift 研究読本2 エラーハンドリング編」

「RxSwift 研究読本3 ViewModel 設計パターン編」

English

"Clean Architecture: A Craftsman's Guide to Software Structure and Design (Robert C. Martin Series)"

"The Swift Programming Language"

"Swift3 Functional Programing"

"RxSwift Reactive Programming with Swift"

"Test-Driven iOS Development with Swift 3"

About


Languages

Language:Swift 95.9%Language:Ruby 3.4%Language:C++ 0.7%