دورهمی برنامه نویسان
10.6K subscribers
2.11K photos
121 videos
99 files
559 links
<head>
<title>دورهمی برنامه نویسان</title>
</head>
<body>
طنز برنامه نویسی
اخبار و مطالب آموزشی
</body>
ارتباط با ادمین و تبلیغات:
@heydarirx

پیج اینستاگرام دورهمی برنامه‌نویسان:
https://instagram.com/programmers_gathering
Download Telegram
بررسی چرخه حیات اکتیویتی ها👇👇👇👇
#آموزش


🚦Activity Life Cycle


☝️☝️☝️ مسئول ایجاد، از بین بردن و مدیریت activity ها می باشد. به عنوان مثال، هنگامی که کاربر یک برنامه را برای اولین بار آغاز می کند، Activity Manager ، activity موردنظر را ایجاد میکند و آن را در صفحه نمایش قرار میدهد. سپس، هنگامی که کاربر بین صفحات حرکت میکند، Activity Manager ، activity قبلی را به مکان قبلی آن انتقال می دهد.
#آموزش

🙌Starting state


هنگامی که یک activity در حافظه وجود ندارد، در حالت starting می باشد. زمانی که آغاز می شود، activity از طریق
مجموعه کاملی از متدهای callback که توسعه دهنده آن را تعبیه می کند، اجرا می گردد. در نهایت، activity به حالت
اجرا در خواهد آمد.در نظر داشته باشید که این انتقال از حالت starting به running یکی از پر هزینه ترین عملیاتها در
اصطلاحات زمان محاسبه محسوب می شود و به طور مستقیم بر روی میزان شارژ باطری تاثیر دارد.




🙌☝️Running state


Activity در حالت اجرا چیزی است که بر روی صفحه نمایش داده می شود و با کاربر در تعامل می باشد. همچنین گفته
میشود که این activity در کانون توجه قرار دارد، به این معنی که تمامی تراکنش های کاربر اعم از تایپ کردن، لمس صفحه نمایش و کلیک بر روی دکمه ها توسط این activity مدیریت می شود.
☝️running activity
چیزی است که در زمینه اولویت بندی دستیابی به حافظه و منابع موردنیاز مطرح می شود که در
صورت امکان سریعتر اجرا شود.




🙌☝️Paused state

هنگامی که یک activity در کانون توجه قرار ندارد اما در صفحه قابل نمایش میباشد، گفته میشود که در حالت
paused است. این یک سناریوی عمومی نیست، چرا که اغلب صفحه نمایش دستگاه کوچک می باشد و لذا activity یا
تمام صفحه را در بر گرفته است یا در هیچ قسمتی از صفحه نیست. این موضوع اغلب هنگام مشاهده dialog box ها که
جلوی activity قرار دارد اتفاق می افتد.




🙌☝️Stopped state

هنگامی که activity قابل مشاهده نمیباشد اما هنوز در حافظه وجود دارد، گفته میشود که در حالت stopped قرار دارد.
Activity متوقف شده میتواند بعدها به عنوان یک activity در حال اجرا برگردد یا اینکه از بین رود و از حافظه پاک شود.


@Romizir
فیلم آموزشی کامل نصب و راه اندازی وردپرس
@Romizir
این ویدیو طریقه نصب و راه اندازی cms وردپرس در cPANEL را به شما آموزش میدهد.
این ویدیو بسیار مفید بوده و پس دیدن این ویدیو شما به راحتی قادر به نصب و راه اندازی وردپرس خواهید بود.
این فیلم را از لینک زیر دانلود نمایید:
https://goo.gl/8YznfF

دوستانتان را به کانال ما دعوت کنید
https://telegram.me/joinchat/CJMdmjyWcDdUCpb0lkra7A
مفهوم شی گرایی

در طی ده ها سال از ایجاد و بکارگیری کامپیوتر تاکنون در زمینه های مختلف ، کامپیوتر پیشرفت چشمگیری داشته است.

در نرم افزار،از برنامه های به زبان ماشین به نرم افزارهای هوشمند و زبانهای نسل چهارم رسیده ایم.کاربرد کامپیوتر و نرم افزار در تمام سطوح فراگیر شده است . و نیازهای بشری به شدت گسترش پیدا کرده است و کامپیوتر در تمام زوایای زندگی بشر رسوخ کرده و خواهد کرد ، در چنین وضعیتی لازم است:

1-همه افراد توانی ها و سواد کامپیوتری لازم را داشته باشند .

2-کسانیکه در رشته کامپیوتر فعالیت می کنند باید با ایده ها و روشها و تکنیکهای جدید آشنایی کامل داشته باشند ، یکی از این ایده ها ، برنامه نویسی شی ء گرایی است .
@Romizir
تعریف کلی شی :

مؤلفه های نرم افزاری یک قطعه جامع و قابل توسعه می باشد که عملکردش به خوبی تعریف شده است و از طریق واسطها با دیگر مؤلفه ها می تواند ترکیب شده و با همدیگر در تعامل باشند.
@Romizir
سه هدف اصلی برنامه نویسی مبتنی بر اشیاء:

*غلبه بر پیچیدگی * مدیریت تغییر * قابلیت استفاده مجدد.

غلبه بر پیچیدگی: ما در یک دنیای پیچیده ای از عصر انفجار اطلاعات زندگی می کنیم .طبق تحقیقات انجام گرفته توسط تیمی در دانشگاه برکلی : دنیا ما بین یک و دو اگزا بایت اطلاعات بی نظیر در هر سال تولید می کند که تقریبا 250 مگا بایت برای هر مرد ، زن و بچه در روی زمین است . هر اگزا بایت یک بیلییون گیگا بایت است . در علم کامپیوتر اندازه پیچیدگی نرم افزار به طور قابل توجه در حال افزایش است .. برنامه نویسی مبتنی بر مولفه یک روش موثر با نام تقسیم و غلبه را برای برخورد با پیچیدگی نرم افزار فراهم می کند.

مدیریت تغییر:تغییرات در مهندسی نرم افزار ذاتی است ، تغییر خواسته های کاربران ، تغییر مشخصه ها ، تغییر کارکنان ، تغییر بودجه ، تغییر تکنولوژی و غیره.یکی از اهداف اساسی مهندسی نرم افزار تاکید بر اهمیت مدیریت تغییر می باشد.برنامه نویسی مبتنی بر مولفه یک روش موثر به نام برنامه ریزی برای تغییر و ساخت طراحی را برای برخورد با تغییرات در مهندسی نرم افزار فراهم آورده است . مولفه ها به آسانی با خواسته های جدید و در حال تغییر وفق داده می شوند .

قابلیت استفاده مجدد: نرم افزار با قابلیت استفاده مجدد باعث می شود که طراحی و پیاده سازی فقط یکبار انجام گیرد و در زمینه ها و قلمرو های متفاوتی بارها و بارها مورد استفاده قرار گیرد که قابلیت استفاده مجدد باعث افزایش بازدهی ، بکارگیری مفید از راه حلهای ارائه شده ، اصلاح کیفیت و غیره می باشد. سطوح مختلفی از قابلیت استفاده مجدد نرم افزار وجود دارد برای نمونه کپی کردن کد منبع ، که پایین ترین سطح از قابلیت استفاده مجدد می باشد. کتابخانه ای از توابع رویه ای بهتر از کپی کد منـبع می باشد اما توسعـه پذیر نیست. برنامه نویسی مبتنی بر مولفه سطح بالایی از استفاده مجدد نرم افزار را پشتیبانی می کند. به خاطر اینکه در برگیرنده انواع گوناگونی از استفاده مجدد می باشد.
@Romizir
اکنون سوال مطرح می شود که در برخورد با سیستمهای پیچیده چگونه بادید شی گرایی کار کنیم و اجزای اصلی دیدگاه شیء گرایی چیست ؟
@Romizir
در دیدگاه شیء گرایی ما با سه مقوله مواجه هستیم .

1-برنامه سازی شی گرایی (Object-oriented programming)

2-طراحی شی گرایی (Object-oriented design)

3-تحلیل شیء گرایی (Object-oriented analysis)
@Romizir
برنامه نویسی شیء گرایی👇👇👇

یک شیوه برنامه نویسی است که در آن برنامه ها بصورت مجموعه ای از اشیاء که با یکدیگر همکاری می کنند ، سازمان داده شده اند .اشیاء صورت‌های مجرد از ماهیت‌های مطرح در مسئله هستند که دارای وضعیت (درونی) و همچنین عملیات بر روی داده‌ها (وضعیت درونی) می‌باشند.


طراحی شی گرایی👇👇👇👇👇

طراحی شیء گرا بر یک پایه مهندسی محکم که مجموعه عناصرش را مدل شیء می نامیم ، بنا شده است . طراحی شی گرایی با دیدگاه سنتی طراحی ساخت یافته متفاوت است ، در این تکنیک ما با اشیا ، سر و کار داریم طراحی شیء گرا بر مباحثی نظیر: شیء، کلاس، مسئولیت، عمل و سناریو استوار است و جهان را به صورت مجموعه ای از اشیاء به هم مرتبط می بیند که هر شیء، رفتار خاص خود و مسئولیت خاص خود را دارد.


تحلیل شی گرایی👇👇👇👇👇👇

فرآیندی است که برای درک سیستم با استفاده از کلاسها و اشیایی که در جهان با آن سیستم مرتبط هستند ، استفاده می شود . در واقع تحلیل گر در این حالت همه اجزا سیستم را بصورت شی ء می بیند و تفکیک می کند ، و براساس قوانین دنیای شی گرایی ، ارتباط بین اشیا را ایجاد می کند.
@Romizir
سه رکن بنیادی شی گرایی



1-کپسوله سازی (encapsulation)

2-وراثت (inheritance)

3-چند شکلی بودن (polymorphism)

@Romizir
1-کپسوله سازی : فرآیند مخفی نگاه داشتن تمام جزییات از یک شی است که مشارکتی در ویژگیهای اصلی شی نداشته باشند . به شکل زیر نگاه کنید ، شما در فرایند کپسوله سازی از جزییات شی خود بی خبرید
@Romizir
کپسوله سازی
@Romizir
2-وراثت : یک سلسله مراتب میان کلاسها در سیستمهای شی گرا است . وراثت تشبیهی از دنیای واقعی وراثت موجود است ، کلاس فرزند می تواند خصوصیات کلاس پدر را به ارث ببرد.

3-چند شکلی بودن : یعنی اینکه یک موجودیت ، دارای اشکال مختلفی باشد. و یا به تعبیری با استفاده از یک نام واحد بتوان رفتارهای مختلفی را در شرایط مختلف آن هم بصورت خودکار انتظار داشت .
@Romizir
برای درک دو مورد بالا به شکل زیر دقت کنید ، ما یک مجموعه حیوانات داریم خوب همه آنها حیوان هستند ، پس می توان یک کلاس والد یا پدر به نام حیوان داشته باشیم که بقیه کلاسها مانند ، شیر ، سگ و گربه و غیره از آن مشتق شده باشند یا به تعبیری از آن ارث بری می کنند یعنی کلاس شیر باید خاصیت کلاس حیوان را به ارث ببرد .
@Romizir
پس هر شیری یا هر گربه ای و غیره مطابق شکل بالا برخی خصوصیا خود را از کلاس حیوان به ارث می برد.
در واقع وقتی می گوییم کلاس شیر از کلاس حیوان ارث بری می کند یعنی ابتدا شیر تمام خصوصیت حیوانی را می گیرد (طبق اصل وراثت ) و سپس خصوصیات منحصر به فرد خود را نیز دارد ، علاوه بر این ممکن است برخی موجودیتهای حیوانی مشترک برای شیر باید باز تعریف شود (طبق اصل چند ریختی )
اما می دانیم که همه این حیوانات دارای خصوصیات مشترک اما با رفتار های متفاوت است ، مثلا بانگ می زنند و یا به تعبیری صدا تولید می کنند ، اگر چه این عمل با نام تولید صدا در تمام این حیوانات مشترک است ، اما هر کدام از آنها دارای ویژگی منحصر به فردی می باشد ، مثلا صدای سگ با صدای گربه متفاوت است . پس ما در اینجا در کلاس هر کدام از این حیوانات باید رفتار تولید صدا را برای هر کدام از این حیوانات باز تعریف کنیم .
@Romizir
متخصصین کامپیوتر ایران

اطلاعات و اخبار روز تکنولوژی آموزش های برنامه نویسی
https://telegram.me/joinchat/CJMdmjyWcDdUCpb0lkra7A