[RxSwift and MVVM] – Bài 1 – Nguyên tắc áp dụng

1. Nguyên tắc áp dụng:

Hiện giờ mình đang nghiên cứu về RxSwift có kết hợp với MVVM nên tranh thủ làm 1 chuỗi cái bài chia sẻ cách kết hợp 2 cái này. Về MVVM và RxSwift cụ thể là gì các bạn google để hiểu rõ thêm, mình chỉ nói các bước mình đang áp dụng:

Mình xin tạm gọi 1 vài khái niệm trước:

– Input: là cái mà mình nhập vào, tác động vào (như là hit button, edit textfield v..v)

– Output: là cái mà sẽ thay đổi dựa trên input (như label, button isEnabled v..v)

Ok, sau đây là các nguyên tắc áp dụng:

1. Mình sẽ quan sát bên ViewController (VC) có bao nhiêu thành phần input rồi qua bên ViewModel (VM) khai báo bấy nhiêu Variable, hoặc PublishSubject.2. VM sẽ nhận tín hiệu, data của Input từ VC (như là hit button, edit textfield v..v)3. VM sau khi nhận được tín hiệu để xử lý data đó theo requirement rồi send back data đến VC bằng cách phát ra các Observable tương ứng4. Output ở VC sẽ subscribe những Observable mà VM cung cấp

2. Ý nghĩa:

Các bạn có thể thấy ý nghĩa như sau, công việc của lớp View Controller là: 

- Nhận tín hiệu từ phần UI Bind qua, sau đó bind cho View Model

- Nhận tín hiệu từ View Model và bind ngược qua UI

- Mọi logic code được bên View Model xử lý và trả ngược lại.

Về cơ bản là vậy, rất là đơn giản nhưng khi kết hợp với những phần phức tạp như table view, database realtime các bạn mới thấy việc phân tách ra như vậy rất có ích.

Xong, tiếp theo mình sẽ qua những ví dụ để hiểu rõ hơn. Các bạn nên take note 4 cái rule cơ bản của mình để hiểu rõ hơn qua các step của mình

Bình luận
* Các email sẽ không được công bố trên trang web.
I BUILT MY SITE FOR FREE USING