معماری برنامه اندروید براساس MVP (بخش دوم)
در بخش اول این مطلب، راجع به مفهوم (Model-View-Presenter (MVP و علت مهم بودن آن در توسعه برنامه اندروید توضیح دادیم. در این بخش به سراغ کدنویسی میرویم تا عمیقتر آنرا مورد بررسی قرار دهیم. پروژه ای ساده خواهیم ساخت و طریقه ساخت لایه های مختلف و چگونگی ارتباط بین این لایه ها را خواهیم دید. ممکن است پیچیده بنظر برسد، اما بعد از درک کامل آن خواهید دید که چقدر مفید است. یادآوری از بخش اول: Presenter: رابطی است میان View و Model. دیتا را از مدل دریافت میکند، آنرا ویرایش/آماده میکند و در اختیار View قرار میدهد. اما برخلاف MVC، تصمیم میگیرد که چه واکنشی به درخواست کاربر در ارتباط با View انجام دهد (مثلا زمانیکه دکمه ای کلیک شد). View: عموما توسط اکتیوتی اجرا میشود و رفرنسی از Presenter را در خود دارد. تنها کاری که View انجام میدهد این است که متدخاصی را – از Presenter – زمانیکه اتفاقی در واسط کاربری افتاد (مثلا زمانیکه دکمه ای کلیک شد)، صدا کند. Model: در برنامه ای که خیلی خوب لایه های معماری رعایت شده باشد، Model تنها چیزی است که منطق بیزینسی پروژه را اجرا میکند. اینطوری به آن نگاه کنید که دیتای مورد نیاز برای نماش […]