[PART 2]
Liskov Substitution Principle
هر کلاسی که از کلاس دیگر ارث بری میکند هرگز نباید رفتار کلاس والد را تغییر دهد
مثال: این مورد رو با یک مثال کاملا قابل فهم بیان میکنم
در ریاضیات مربع همان مستطیل است
طبق این اصل ما میتوانیم کلاسی به نام مستطیل ایجاد کنیم که طول و عرض را به عنوان ورودی میگیرد و مستطیل را در خروجی بر میگرداند
کلاس دیگری داریم به نام مربع که این کلاس از کلاس مستطیل مشتق شده
کلاس را نمونه سازی میکنیم به شکل زیر
Rectangle rstngl=new Squre();
حال وقتی متد مستطیل این متغیر را فراخوانی میکنیم و ورودی ها را ست میکنیم خروجی ما یک مربع است در حالی که کلاس والد خروجی اش باید یک مستطیل باشد، این خروجی در ریاضیات صحیح اما در برنامه نویسی غلط است چراکه کلاس فرزند در رفتار کلاس والد تغییر ایجاد کرد و خروجی آن را به مربع تبدیل کرد
برای حل این موضوع باید از اینترفیس ها به جای کلاس والد استفاده کرد
🆔 @IranCoderz | 👩💻🧑💻
Liskov Substitution Principle
هر کلاسی که از کلاس دیگر ارث بری میکند هرگز نباید رفتار کلاس والد را تغییر دهد
مثال: این مورد رو با یک مثال کاملا قابل فهم بیان میکنم
در ریاضیات مربع همان مستطیل است
طبق این اصل ما میتوانیم کلاسی به نام مستطیل ایجاد کنیم که طول و عرض را به عنوان ورودی میگیرد و مستطیل را در خروجی بر میگرداند
کلاس دیگری داریم به نام مربع که این کلاس از کلاس مستطیل مشتق شده
کلاس را نمونه سازی میکنیم به شکل زیر
Rectangle rstngl=new Squre();
حال وقتی متد مستطیل این متغیر را فراخوانی میکنیم و ورودی ها را ست میکنیم خروجی ما یک مربع است در حالی که کلاس والد خروجی اش باید یک مستطیل باشد، این خروجی در ریاضیات صحیح اما در برنامه نویسی غلط است چراکه کلاس فرزند در رفتار کلاس والد تغییر ایجاد کرد و خروجی آن را به مربع تبدیل کرد
برای حل این موضوع باید از اینترفیس ها به جای کلاس والد استفاده کرد
🆔 @IranCoderz | 👩💻🧑💻
[PART 3]
Interface Segregation Principle
این اصل به این موضوع اشاره دارد که چند اینترفیس کوچک شده بهتر از یک اینترفیس است
مثال: همان طور که میدانید یک کلاس میتواند متدهای چندین اینترفیس را ایمپلمنت یا همان پیاده سازی کند
فرض کنید اینترفیسی داریم که حاوی ده متد است و یک کلاس داریم که از این اینترفیس ارث بری میکند و فقط به یکی از این متدها نیاز دارد
بنابراین نه متد دیگر بلا استفاده هستند ولی باید حتما بدنه آنها در کلاس فرزند ساخته شود
برای رفع این مشکل میتوانیم اینترفیس را به دو اینترفیس مجزا که یکی داری نه متد و دیگری یک متد است تبدیل کنیم و هر کجا به هر ده متد نیاز داشتیم کلاس از هر دو اینترفیس ارث بری کند
🆔 @IranCoderz | 👩💻🧑💻
Interface Segregation Principle
این اصل به این موضوع اشاره دارد که چند اینترفیس کوچک شده بهتر از یک اینترفیس است
مثال: همان طور که میدانید یک کلاس میتواند متدهای چندین اینترفیس را ایمپلمنت یا همان پیاده سازی کند
فرض کنید اینترفیسی داریم که حاوی ده متد است و یک کلاس داریم که از این اینترفیس ارث بری میکند و فقط به یکی از این متدها نیاز دارد
بنابراین نه متد دیگر بلا استفاده هستند ولی باید حتما بدنه آنها در کلاس فرزند ساخته شود
برای رفع این مشکل میتوانیم اینترفیس را به دو اینترفیس مجزا که یکی داری نه متد و دیگری یک متد است تبدیل کنیم و هر کجا به هر ده متد نیاز داشتیم کلاس از هر دو اینترفیس ارث بری کند
🆔 @IranCoderz | 👩💻🧑💻
[PART 4]
Dependency Inversion Principle
اصل معکوس سازی وابستگی
مثال: اوایل که موبایل تازه داشت رونق میگرفت یک سری تولید کننده شارژر وجود داشتند که هر بار که یک موبایل روانه بازار می شد مجبور بودن طراحیشون رو بر طبق این مدل موبایل تغییر بدن و کار به جایی رسید که یک سیم شارژی تولید شد که بیش از ده خروجی داشت برای همه موبایل ها
اما این راه حل صحیح نبود !!!
بنابراین شرکت های تولید شارژر تصمیم گرفتند اعتصاب کنند که به جای اینکه چیزی که شما میخواین رو ما تولید کنیم
چیزی که ما میخوایم رو شماها تولید کنید
اتفاقا شرکت های موبایلی هم از این طرح استقبال کردن و یک استاندارد بینشون رد و بدل شد
بنابراین وابستگی وارونه شد !!!
در کلاس ها هم دقیقا مشابه این اتفاق بارها برای همه پیش اومده
راه حل :اول استفاده از اینترفیس ها به جای کلاس های سطح بالا
دوم عدم اشاره به جزئیات در اینترفیس ها
🆔 @IranCoderz | 👩💻🧑💻
Dependency Inversion Principle
اصل معکوس سازی وابستگی
مثال: اوایل که موبایل تازه داشت رونق میگرفت یک سری تولید کننده شارژر وجود داشتند که هر بار که یک موبایل روانه بازار می شد مجبور بودن طراحیشون رو بر طبق این مدل موبایل تغییر بدن و کار به جایی رسید که یک سیم شارژی تولید شد که بیش از ده خروجی داشت برای همه موبایل ها
اما این راه حل صحیح نبود !!!
بنابراین شرکت های تولید شارژر تصمیم گرفتند اعتصاب کنند که به جای اینکه چیزی که شما میخواین رو ما تولید کنیم
چیزی که ما میخوایم رو شماها تولید کنید
اتفاقا شرکت های موبایلی هم از این طرح استقبال کردن و یک استاندارد بینشون رد و بدل شد
بنابراین وابستگی وارونه شد !!!
در کلاس ها هم دقیقا مشابه این اتفاق بارها برای همه پیش اومده
راه حل :اول استفاده از اینترفیس ها به جای کلاس های سطح بالا
دوم عدم اشاره به جزئیات در اینترفیس ها
🆔 @IranCoderz | 👩💻🧑💻
پ ن:
👤Naser Emami
در مورد اصل اول؛ فانکشن، پراسیجر و در حالت کلی هر ماژولی هم باید صادق باشد. به عنوان مثل متدی که علاوه بر کنترل صحت نام کاربری و پسورد، لاگ هم ثبت میکند دقیقا این اصل را نقض کرده است.
در مورد اصل دوم هم همین موضوع صادق است و موضوع اصل فقط کلاسها نیستند.
یا در مورد اصل سوم، کلا اصل لیسکوف به شیوه ایی دیگر بیان شده است . این اصل نمیگه ساب کلاس هرگز نباید رفتار سوپر کلاس رو تغییر بده، بلکه میگه باید طوری طراحی کنید که بتونید آبجکتهای ساب کلاس رو در متغیرهایی از جنس سوپر کلاس قرار بدهید.
و گرنه یکی از اهداف ارث بری اتفاقا همین است که به کلاس مشتق شده اجازه بدهیم رفتار کلاس والد رو تغییر دهد
🆔 @IranCoderz | 👩💻🧑💻
👤Naser Emami
در مورد اصل اول؛ فانکشن، پراسیجر و در حالت کلی هر ماژولی هم باید صادق باشد. به عنوان مثل متدی که علاوه بر کنترل صحت نام کاربری و پسورد، لاگ هم ثبت میکند دقیقا این اصل را نقض کرده است.
در مورد اصل دوم هم همین موضوع صادق است و موضوع اصل فقط کلاسها نیستند.
یا در مورد اصل سوم، کلا اصل لیسکوف به شیوه ایی دیگر بیان شده است . این اصل نمیگه ساب کلاس هرگز نباید رفتار سوپر کلاس رو تغییر بده، بلکه میگه باید طوری طراحی کنید که بتونید آبجکتهای ساب کلاس رو در متغیرهایی از جنس سوپر کلاس قرار بدهید.
و گرنه یکی از اهداف ارث بری اتفاقا همین است که به کلاس مشتق شده اجازه بدهیم رفتار کلاس والد رو تغییر دهد
🆔 @IranCoderz | 👩💻🧑💻
در نسخه بتا تلگرام اندروید امکان مشاهده افرادی که پیامهای شما را سین کردهاند اضافه شده است
این امکان فعلاً فقط برای گروههای کوچک فعال شده
همچنین امکان تغییر تم برای هر گفتگو به صورت جداگانه فراهم شده است و جهت تسهیل تماس اینترنتی، دکمهی تماس به داخل چت اضافه شده است.
منبع: @AliSentinel
🆔 @IranCoderz | 👩💻🧑💻
این امکان فعلاً فقط برای گروههای کوچک فعال شده
همچنین امکان تغییر تم برای هر گفتگو به صورت جداگانه فراهم شده است و جهت تسهیل تماس اینترنتی، دکمهی تماس به داخل چت اضافه شده است.
منبع: @AliSentinel
🆔 @IranCoderz | 👩💻🧑💻
به گفته وبسایت XDA-Developers، شیائومی قصد داره دسترسی کاربرانی که در کشورهای تحت تحریم آمریکا از این برند استفاده میکنند را قطع کند.(کرهشمالی، ایران، سوریه و...)
علاوه بر این، این مشکل مختص گوشیهای تازه خریداری شده هست و گوشی هایی شیائومی که در حال حاضر کار میکنن و استفاده میشن، چنین مشکلی برای اونها به وجود نمیاد.
ولمون کنید پدرسگا 😐
🆔 @IranCoderz | 👩💻🧑💻
علاوه بر این، این مشکل مختص گوشیهای تازه خریداری شده هست و گوشی هایی شیائومی که در حال حاضر کار میکنن و استفاده میشن، چنین مشکلی برای اونها به وجود نمیاد.
ولمون کنید پدرسگا 😐
🆔 @IranCoderz | 👩💻🧑💻
IranCoderz
به گفته وبسایت XDA-Developers، شیائومی قصد داره دسترسی کاربرانی که در کشورهای تحت تحریم آمریکا از این برند استفاده میکنند را قطع کند.(کرهشمالی، ایران، سوریه و...) علاوه بر این، این مشکل مختص گوشیهای تازه خریداری شده هست و گوشی هایی شیائومی که در حال…
روابط عمومی انجمن واردکنندگان موبایل: خبر غیرفعال شدن گوشیهای شیائومی صحت ندارد. اگر زمانی چنین اتفاقی برای شیائومی در ایران رخ بدهد، دولت باید وارد میدان شود.
منبع: دیجیاتو
🆔 @IranCoderz | 👩💻🧑💻
منبع: دیجیاتو
🆔 @IranCoderz | 👩💻🧑💻
اگه به کارفرما شک دارید که بهموقع هزینه پروژه رو پرداخت نمیکنه با کمک این رپو گیتهاب یه ددلاین مشخص کنید. تا رسیدن به اون ددلاین هر روز Opacity بادی رو کم میکنه تا اینکه کلا وبسایت کاملا غیب شه😂
برای وردپرس و اپهای موبایل هم قابل استفادهاس
https://github.com/kleampa/not-paid
🆔 @IranCoderz | 👩💻🧑💻
برای وردپرس و اپهای موبایل هم قابل استفادهاس
https://github.com/kleampa/not-paid
🆔 @IranCoderz | 👩💻🧑💻
👍1
IranCoderz
اگه به کارفرما شک دارید که بهموقع هزینه پروژه رو پرداخت نمیکنه با کمک این رپو گیتهاب یه ددلاین مشخص کنید. تا رسیدن به اون ددلاین هر روز Opacity بادی رو کم میکنه تا اینکه کلا وبسایت کاملا غیب شه😂 برای وردپرس و اپهای موبایل هم قابل استفادهاس http…
دوستان فقط دقت کنید که این روش رو روی پروژه واقعی پیادهسازی نکنید، چون:
طبق قانون شما حق ندارید چیزی که برای یه نفر ساختید رو تخریب کنید، مگه اینکه مدرکی داشته باشید که به کارفرما گفتید در صورت دیر پرداخت کردن وجه همچین کاری رو انجام میدید و اطلاع داشته باشه که همچین چیزی رو کار گذاشتید.
طبق قانون شما حق ندارید چیزی که برای یه نفر ساختید رو تخریب کنید، مگه اینکه مدرکی داشته باشید که به کارفرما گفتید در صورت دیر پرداخت کردن وجه همچین کاری رو انجام میدید و اطلاع داشته باشه که همچین چیزی رو کار گذاشتید.
256مین روز سال که روز برنامهنویس هست رو بهتون تبریک میگیم🥳
روزتون مبارک باشه رفقا❤️
🆔 @IranCoderz | 👩💻🧑💻
روزتون مبارک باشه رفقا❤️
🆔 @IranCoderz | 👩💻🧑💻
روز برنامهنویس رو امسال هم مجددا به برنامهنویس این اپ تبریک میگم.
* masooood04 *
🆔 @IranCoderz | 👩💻🧑💻
* masooood04 *
🆔 @IranCoderz | 👩💻🧑💻
IranCoderz
به گفته وبسایت XDA-Developers، شیائومی قصد داره دسترسی کاربرانی که در کشورهای تحت تحریم آمریکا از این برند استفاده میکنند را قطع کند.(کرهشمالی، ایران، سوریه و...) علاوه بر این، این مشکل مختص گوشیهای تازه خریداری شده هست و گوشی هایی شیائومی که در حال…
🔴شیائومی رسما قفل شدن گوشیهای خودش در کشورهای تحریم شده رو تکذیب کرد
سخنگوی شیائومی: این شرکت بصورت موقت، برخی از گوشیها را قفل کرده بود تا درباره احتمال قاچاق این کالاها در بازار خاکستری تحقیقاتی صورت دهد و اکنون که تحقیقات کامل شده، میتوان قفل دستگاهها را باز کرد/ایسنا
🆔 @IranCoderz | 👩💻🧑💻
سخنگوی شیائومی: این شرکت بصورت موقت، برخی از گوشیها را قفل کرده بود تا درباره احتمال قاچاق این کالاها در بازار خاکستری تحقیقاتی صورت دهد و اکنون که تحقیقات کامل شده، میتوان قفل دستگاهها را باز کرد/ایسنا
🆔 @IranCoderz | 👩💻🧑💻