پیاده سازی پترن MVP در اندروید

سطح آموزش: #پیشرفته قبلا داخل پست‌های وبلاگ و کامنت‌ها راجع به اهمیت داشتن یک پترن مشخص برای توسعه و MVP به عنوان یک پترن پذیرفته شده توی اندروید صحبت کردیم. اما به صورت عملی وارد کد نشدیم. توی این پست قصد داریم در قالب یک پروژه کامل مدلی از mvp رو با هم پیاده کنیم. اگر آشنایی به بحث ندارید […]

نگاهی عمیق‌تر به RxJava 2 – بخش دوم

سطح آموزش: #پیشرفته منابع علاوه بر منابعی که تو پست قبل گفتم برای این پست از این لینک هم استفاده زیادی کردم. اگر قبلا به RxJava 1 کار کرده باشید خوندن این لینک به تنهایی بهتون امکان کار کردن با RxJava 2 رو میده. در هر صورت یک نگاهی بهش بندازید  ادامه… آخرین بحثتی که تو پست قبلی داشتیم مقایسه […]

نگاهی عمیق‌تر به RxJava 2

بررسی RxJava 2 سطح آموزش: #پیشرفته مقدمه برای شروع این بحث لازم هست که این پست و پیش‌نیازهاش رو مطالعه کرده باشید. منابعی که برای نوشتن این پست ازشون استفاده کردم به طور عمده javadoc خودِ RxJava بوده. همچنین سخنرانی Jake Wharton در goto 2016. بعضی از تصاویری هم که استفاده می‌کنم از اسلایدهای وارتون استخراج کردم که میتونید کاملش رو اینجا […]

آموزش RxJava با مثال

سطح آموزش:  #پیشرفته مقدمه توی آموزش قبلی مقدمات کار با RxJava رو یاد گرفتیم. چون RxJava با مدل فکری ما همخونی نداره توضیح بیشتر کمک زیادی به درک بهتر نمی‌کنه. تو این آموزش با بررسی مثال‌های مختلف یک مقداری عملی‌تر با RxJava سر و کله می‌زنیم تا کم‌کم به منطق فکری reactive عادت کنیم. منبع تمامی مثال‌ها رو از اینجا […]

مقدمه‌ای بر RxAndroid

سطح آموزش:  #پیشرفته پیش‌نیاز برای دنبال کردن این آموزش باید با دیزاین پترن‌هایی که قبلا آموزش دادم آشنایی داشته باشید. بخصوص Observer، Factory و Iterator رو باید بشناسید. RxJava و RxAndroid چیست؟ RX مخفف Reactive Extension هست و یک کتابخونه‌ایه که ما ازش استفاده می‌کنیم تا داخل محیط اندروید بصورت reactive برنامه‌نویسی کنیم. الان تقریبا تمام زبان‌ها این افزونه رو دارن […]

نگاهی عمیق‌تر به Dagger – بخش دوم

سطح آموزش:  #پیشرفته پیش‌نیاز برای مطالعه این آموزش نیاز دارید با Dependency Injection design Pattern آشنا باشید. همچنین باید دو پست قبلی (۱ ۲) رو هم مطالعه کرده باشید. نگاهی عمیق‌تر به Dagger 2 – بخش دوم تو بخش قبلی دیدیم که چطور پروژمون رو براساس dagger بسازیم و حسابی با component و module سر و کله زدیم. این بخش رو […]

نگاهی عمیق‌تر به Dagger

سطح آموزش:  #پیشرفته پی‌نوشت: تصمیم گرفتم یک دسته آموزش جدید تحت عنوان نگاهی عمیق‌تر یا deeper look درست کنم که بعضی مباحث رو یکمی دقیق‌تر و جامع‌تر توش بررسی کنم. نگاهی عمیق‌تر به Dagger 2 مقدمه پیش نیاز این آموزش آشنایی با دیزاین پترن Dependency Injection و همچنین مطالعه قسمت قبلی آموزش dagger هست. بخش‌هایی از این مجموعه آموزش همپوشانی با بخش‌های […]

آموزش استفاده از Dagger 2 در اندروید

سطح آموزش:  #پیشرفته مقدمه پیش نیاز این آموزش آشنایی با dependency injection یا تزریق وابستگی هست. برای یاد گرفتن بحث تزریق وابستگی باید توجه کنیم که یاد گرفتنِ اون به معنی توانایی استفاده توی پروژه‌ها نیست. وقتی بفهمیم چطور میتونیم از dagger 2 برای تزریق وابستگی در پروژه اندروید استفاده کنیم مرحله اول یعنی کسب دانش رو با موفقیت طی کردیم. ولی […]

Observer Pattern

سطح آموزش: #پیشرفته در آینده نزدیک قصد دارم وارد مباحث پیشرفته‌تری بشم و راجع به RxAndroid صحبت کنم. ولی قبل از اون احتیاج داریم با الگوی Observer یا مشاهده‌گر آشنا بشیم. Observer Pattern (الگوی مشاهده‌گر) بخش اعظمی از Object Oriented Programming یا برنامه‌نویسی شی گرا (OOP) به اشیاء و اثرمتقابلشون روی هم وابسته‌ست. بسیاری از مواقع پیش میاد که یک شی احتیاج […]

آیا MVP ناجی ماست؟

سطح آموزش: #پیشرفته توی این پست متوجه شدیم که MVC چیه و یادگرفتیم چطور پیاده‌سازیش کنیم. همچنین دیدیم یک مشکل اساسی در استفاده از MVC داریم. و مشکل اینه که با توجه به ذات اندروید استفاده از اون یک مقدار دشواره. MVP در برنامه‌نویسی چیست۱؟ MVP مخفف Model View Presenter هست. نقش model و view همونه که در مورد MVC بود. […]