اموزش معماری mvvm در اندروید و دیگر زبان های برنامه نویسی از واجبات برنامه نویسان حرفه ای شده. به خاطر همین در چندین سال گذشته معماری هایی زیادی مثل: MVC , MVP یا معماری MVVM و Clean Architecture وارد ساخت و توسعه اپلیکیشن های نه فقط اندروید بلکه آی او اس شده اند. و اگه بخوای اپلیکیشنی قوی، قابل توسعه و قابل تست داشته باشی. باید معماری یا الگو مناسب برای اپلیکیشن پیاده سازی کنی. برای یادگیری معماری mvvm در اندروید که پروژه محور باشد. میتونی دوره معماری mvvm در اندروید رو تهیه کنی.
از معروف ترین انواع الگو طراحی یا معماری در برنامه نویسی
این معماری یک الگوی سه لایه ای Model – View – View Model هست. شما خونه سه طبقه در نظر بگیر. که هر طبقه به ترتیب از راست به چپ در تصویر از طبقه بالا تر به طبقه پایین تر میره. معماری مورد علاقه گوگله و کامپوننت هایی به اسم نه چندان خوب Android. Arch برای آن طراحی کرده.
آقای جان گاسمن که mvvm رو برای استفاده به جای الگوهای MVC و MVP طراحی کرده. که زمان استفاده از Data Binding پیشنهاد شده. که جداسازی رابط کاربری از business logic و مدل داده (Data model) برنامه را بهبود می دهد. به طور ساده تر اینکه، دیگه نیای کل کدهای که بلدی رو بیای داخل یه اکتیویتی بزاری. که بعدا ندونی با اون همه کد چی کار کنی. و همش هم ارور داشته باشی. جداسازی کدهای قسمت های مختلف رو مد نظر داشته باشی.
قسمتی را که کاربران می بینند را ویو میگن. مثل: اکتیویتی ها، فرگمنتها، لیست ویو ها و … در لایه ویو فایل های xml با کلاس های جاوا در ارتباط می باشند. لایه View با لایه Model ارتباطی با هم ندارند و View با ViewModel در ارتباط است.
در View میتوان کارهای زیر را انجام داد:
هر چیزی که به داده مربوط میشه تو این طبقه ست چون برای بروز رسانی اطلاعاتی که کاربر میبینه باید طبقه مدل تغییر کرده باشه.
اطلاعاتی یا دیتای که میتونیم از طبقه مدل بگیریم، به عنوان مثال:
طبقه Model از طبقه View یا طبقه ViewModel اطلاعی ندارد و به طور مستقل کار میکند. اگر یک برنامهی که قبلاً بر اساس الگوی MVC یا MVP ساخته شده است، به MVVM منتقل کنید ، لایهی Model به احتمال زیاد نیازی به تغییر نخواهد داشت چون وابسته به لایه های دیگر نبوده و براحتی قابل انتقال می باشد. برای آموزش viewmodel در اندروید به صورت کامل و پروژه محور، میتونی آموزش معماری mvvm در اندروید تهیه کنی.
ViewModel ها فقط باید دربارهی Context اطلاعات داشته باشد. Context میتواند شامل موارد زیر باشند :
کارهایی که نباید در ViewModel انجام داد شامل موارد زیر است :
دیتا بایندینگ Data Binding در اندروید از جمله کتابخانه های مشهور در JetPack اندروید میباشد که به منظور اتصال دادن داده ها بطور مستقیم در Xml Layout است. حتما پیشنهاد میشود قبل از اینکه معماری MVVM را شروع کنید با کتابخانه DataBinding آشنا شوید.
چگونه ممکن است به برخی از کلاس ها بدون داشتن مرجع از آن اطلاع داده شود؟
از جمله موارد مهم قابل اشاره این است. که دیگر نیازی به استفاده از Interface و یا کتابخانه هایی مانند EventBus نیست. و LiveData اینکار را برعهده می گیرد.
تو این مقاله به بررسی معماری MVVM در برنامه نویسی در اندروید پرداختیم. و با مزایا و معایب معماری mvvm آشنا شدیم. و در حال حاضر بهترین معماری MVVM است. امیدواریم این مقاله برایتان مفید واقع شده باشد. همچنین باید متذکر شوم. اموزش معماری mvvm در اندروید گسترده تر از آنست که در یک مقاله بگنجد. بنابراین دوره های زیر را حتما تهیه کرده و از آنها استفاده کنید. اگر هر سوالی برای استفاده از این معماری دارید حتما در بخش نظرات برای ما ارسال نمایید.
?
?