هرچه نرمافزار بزرگتر شود، حفظ نمای کلی سختتر میشود. بنابراین ساختار پروژهها بسیار مهم است که این به معنای جداسازی نگرانیها است. درواقع میخواهیم رابط کاربری، کسبوکار و منبع داده را از هم جدا کنیم تا درک نرم افزار به راحتی و با سرعت امکان پذیر باشد و بتوان به سادگی آن را با ویژگی های بیشتر گسترش داد و آزمایش کرد. اینجاست که الگوهای طراحی معماری وارد عمل می شوند.
در برنامه های اندرویدی، MVVM محبوب ترین و مخفف مدل، نما،و نمای مدل (view ،model، و view model) است.
به عنوان مثال، برنامه دستور آشپزی زیر را در نظر بگیرید.
این یک الگوی قدرتمند است که نرم افزار را مقیاس پذیر، به راحتی قابل درک و قابل آزمایش میکند.
«این مطلب، بخشی از تمرینهای درس معماری نرمافزار در دانشگاه شهیدبهشتی است»
[1] https://www.techtarget.com/whatis/definition/Model-View-ViewModel#:~:text=Model%2DView%2DViewModel%20(MVVM)%20is%20a%20software%20design,Ken%20Cooper%20and%20John%20Gossman.