Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

[Android] ใช้ Factory pattern สำหรับการสร้าง ViewModel object

$
0
0

จาก blog เรื่อง [Android] ลองใช้ ViewModel class จาก Architecture Component กันหน่อย มีคำถามว่า ถ้าอยากให้การสร้าง ViewModel ส่วนงามมากขึ้น แนะนำให้ใช้งาน Factory pattern มาช่วย !!! มันทำอย่างไร ? ดังนั้นจึงมาตอบคำถามไว้นิดหน่อย

ก่อนอื่นให้สร้าง class BookViewModelFactory ขึ้นมา

เพื่อทำหน้าที่สำหรับสร้าง BookViewModel ซึ่งใน class เราสามารถกำหนดค่าต่าง ๆ ที่จำเป็นต้องใช้ไปได้ ต่างจากเดิมที่ทำอะไรไม่ได้เลย ที่สำคัญแยกการทำงานออกมาจาก Activity อีกด้วย ตามแนวคิด SRP (Single Responsibility Principle) ทำให้การสร้าง ViewModel มีความยืดหยุ่นขึ้น [gist id="3b41e1ee6f1b4cdb5f9a2af08974938e" file="BookViewModelFactory.java"]

จากนั้นในส่วนของ Activity ให้เรียกใช้งาน

สังเกตุว่าในส่วนของ ViewModelProviders นั้นเราจะส่ง object ของ ModelViewFactory เข้าไปแทน เพื่อสร้าง object ของ ViewModel ที่ต้องการ [gist id="3b41e1ee6f1b4cdb5f9a2af08974938e" file="MainActivity.java"] ปล. ถ้านำ Dagger 2 มาใช้ด้วยจะแจ่มมากยิ่งขึ้น Reference Websites https://medium.com/@dpreussler/add-the-new-viewmodel-to-your-mvvm-36bfea86b159

Viewing all articles
Browse latest Browse all 1997

Trending Articles