توی معماری MVP، لایه های Model و Presenter نباید Context داشته باشن.
توی لایه Model دیتا رو از API یا دیتابیس میگیریم و ممکنه به Context نیاز پیدا کنیم.
راه حل این مشکل اینه که کلاسی که به Context نیاز داره رو توی یک لایه دیگه abstract کنیم.
اینجا بیشتر توضیح داده.
کل دیروز این معماری رو میخوندم.
یه مقدار پیچیدگی داره ولی دیسیپلینش خیلی قشنگه.
توی این معماری باید کد رو به سه لایه، Model، View و presenter تقسیم کنیم. به طوری که:
- توی presenter هیچ کد اندرویدی نباشه.
- view و model هیچ رفرنسی به همدیگه ندارن.
- توی presenter هیچ context ای نداریم.