مبانی Object Oriented (پارت 1.1 OOD)

برای شرکت در این دوره به پشتیبانی سایت در تلگرام پیام بدید یا پس از عضویت در سایت از طریق پنل کاربری تیکت بزنید. یک …

قیمت : 250.000 تومان
افزودن به علاقه مندی ها

برای شرکت در این دوره به پشتیبانی سایت در تلگرام پیام بدید یا پس از عضویت در سایت از طریق پنل کاربری تیکت بزنید.

یک اسم نام آشنا که احتمالن همه ی ما فکر میکنیم که کامل بهش مسلطیم و نیازی به آموزش و مطالعه و تحقیق در مورد اون نداریم:‌ Object Oriented یا OO.
من اینجام که بهت بگم که شاید اشتباه کنی…شاید خیلی از تصور هایی که راجع به این کلمه داری درست نباشه و شاید نیاز به مطالعه بیشتر داری…

احتمالن از همون روز اول آموزش بهمون گفتن که OO در چهار تا پارامتر خلاصه میشه :

  • Encapsulation
  • Inheritance
  • Polymorphism
  • Abstraction

شاید حتا یه تعصب خاصی روی این ها پیدا کردیم و فکر میکنیم که OO کاملن و بدون چون و چرا به تقویت همه این ها کمک میکنه.

  • از اون گذشته آیا هدف اصلی OO همین ها هست؟
  • هدف اصلیش چیه و قراره در نهایت چه کاری برای ما انجام بده؟
  • آیا این چهار موردی که نام بردیم همشون جزء شاخصه های اصلی OO هستن و در سایر پارادایم ها و زبان های غیر OO نمیتونیم اون ها رو پیاده کنیم؟
  • مثلن در کل آیا زبان های غیر OO بهمون امکان Encapsulation قویتر میدن یا زبان های OO ؟

 

برای جواب دادن به این سوال ها و خیلی سوال های دیگه قصد داریم یکم بریم عقب و ابتدا فلسفه ی نرم افزار رو بررسی کنیم و ببینیم که اصلن نرم افزار چی هست و یه نرم افزار خوب چه ویژگی هایی داره و اصلن وظیفه ی ما به عنوان یه برنامه نویس در تولید یه نرم افزار چیه؟

بعد از این که به درک خوبی در این بازه رسیدیم, اماده ایم که ببینیم که پارادایم های مختلف چقدر تونستن ما رو به این هدف نزدیک کنن و چقد ناموفق بودن.

ما دو تا از اون ها رو بررسی میکینم.

  1. ابتدا به سراغ Structured میریم و به درک نسبی و خوبی ازش میرسیم.
  2. بعد از اون وارد بحث اصلیمون یعنی OO میشیم و به صورت کاملن دقیق اون رو واکاوی میکینم.

در این مرحله فقط 4 اصل بالا رو بررسی نمیکینم که این ها بخش کوچکی از داستان ما هستن. خیلی از ناگفته ها هست که باید بگیم و داستان های زیادی داریم که برای OO بسراییم.

اصلن یهو میبینی داستان عوض شده و هر چی تا الان راجع به OO میدونستی رو باید بریزی دور و مفاهیم درست رو جایگزینش کنی.

اصن قضیه یه چیز دیگس…

 

اصول SOLID:

توی یکی از داستان های جذابمون اما وارد چالش جالب و پر مخاطره ای میشیم . اصول طراحی SOLID. این اصول رو هم به شکل حیرت آوری مورد بررسی قرار میدیم. خیلی خیلی ریز میشیم و از جهات مختلف بهشون حمله میکنیم. تاریخچه ی اون ها رو میگیم و نقشی که از ابتدای پیدایش تا به امروز در نرم افزار بازی میکنن و جایگاهیی که در OO یا طراحی شی گرا دارن. کار ما به این جا ختم نمیشه و این اصول رو از نقطه نظر معماری نرم افزار هم بررسی میکنیم. همچنین علاوه بر خوبی هاشون هزینه هایی هم که روی دستمون میگذارن رو میگیم.

  • آیا لازمه همیشه و همه چا بدون چون و چرا اون ها رو رعایت کنیم؟
  • اگه آره کار سخت میشه چون رعایت کردنشون همه جا و توی همه شرایط به این راحتی نیست.
  • اگه نه بازم کار سخت تر میشه چو ن باید به یه دید تحلیلی خوبی برسیم ک کی و کجا چه کاری رو انجام بدیم.
  • دید مهندسی…

 

مفاهیم معماری Clean:

این دوره یه سوپرایز جذاب دیگه هم داره.

معماری کلین یه اسمی که این روزا ورد زبون خیلی از برنامه نویس ها هست که میخوان یادش بگیرن یا یادش گرفتن یا به دلیل سخت بودنش با کلی تفسیر و توجیه میگن که نیازی بهش نداریم و یا ….

اینجا قراره یه داستان متفاوتی رو با هم بنویسیم.

قرار نیست که 4 تا فولدر درست کنیم و بگیم که فلان کد ها رو بریز توی این یکی فولدر و اون یکی فلان کد ها رو بریز تو اون یکی فولدر و بعد این فولدر ها قاطی پاتی بشن که خودمون هم نفهمیم داریم چکار میکنیم…

نه داستان ما این نیست. اگه دنبال چنین داستان هایی هستی از همین جا راهمون جدا میشه. ما به دنبال بررسی تحلیلی و دقیق این معماری هستیم که در نهایت به این توانایی برسیم که با تحلیل عالی بفهمیم باید چکار کنیم.

برای هر سناریو و برای هر مساله ای باید یاد بگیری فکر کنی و تحلیل کنی و در نهایت تصیمیم بگیری.

پس اینطوری نیست که 4 تا ظرف بهت بدم و بهت بگم که نخود ها رو بریز توی این یکی و عدس ها رو بریز توی اون یکی و … . بلکه قراره مفاهیم رو یاد بگیریم. به خوبی هم یاد بگیریم. و یاد بگیریم فکر کنیم.

این نکته رو باید بگم که توی بخش معماری کلین, ما پروژه ای کار نمیکنیم و فقط هدفمون این هست که مفاهیم این معماری و اجزای مختلفتش رو به خوبی یاد بگیریم.

 

زبان برنامه نویسی و فریمورک:

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

مثال های این آموزش با استفاده از زبان JAVA و در موارد مورد نیاز علاوه بر اون بایک زبان dynamic type شرح داده میشن.

بعد از اتمام این آموزش دیگه از این شوخی ها نداریم که مثلن بری سرچ کنی که نحوه پیاد ه سازی معماری کلین در PHP یا JAVA یا Dart یا مثلن Flutter و از این چرت و پرت ها. وقتی مفاهیم رو یاد گرفتیم باید بتونی هر جایی اون ها رو پیاده کنی.

البته ناگفته نماند که در بخش های مختلف این دوره ما مقایسه های خیلی خوبی بین زبان های static type و  dynamic type انجام میدیم و تفاوت ویژگی ها و پیاده سازی های مختلف بین اون ها رو شرح میدیم. پس JS کار ها و … هم نگران نباشن.

 

پروژه محور:

توی این دوره پروژه خاصی کار نمیشه و دوره ماهیت پروژه محور بودن نداره. هدف این دوره درک خوب و عمیق مفاهیم هست تا بتونیم به خوبی از اون ها در عمل استفاده کنیم. البته برای درک مفاهیم, جاهایی که لازم باشه مثال های متنوع و کاربردی که به درک موضوع کمک میکنه میزنیم, ولی پروژه ای که از صفر تعریف کنیم و بخوایم کار رو پروژه محور جلو ببریم, نداریم.

توی قسمت معماری کلین هم به همین شکل ما مفاهیم رو بررسی میکنیم.

ولی نکته ای که هست مفاهیم رو به خوبی درک میکنیم. خیلی خوب و عالی بهشون مسلط میشیم تا بتونیم در سناریو های مختلف ازشون استفاده کنیم.

ویژگی ها:

  • کاملن تحلیلی و مفهومی.
  • متفاوت از آن چه که تا به حال یاد گرفته اید.
  • یادگیری دقیق و مفهومی OO.
  • رفع اشتباهات و خطاهای رایج در مورد OO.
  • یادگیری عمیق اصول SOLID.
  • یادگیری معماری کلین.
  • مقایسه بین زبان های static type و dynamic type در بحث های مختلف (پس فقط یکی از اون ها رو انتخاب نمیکنیم و به تسلط خوبی برای درک مفاهیم در هر دو میرسیم. مثلن لازمه اصول سالید رو در هر دو بررسی کنیم).
  • کسب آمادگی لازم برای یادگیری دیزاین پترن های OO.

 

ممنونم از اینکه این متن رو خوندی.

سوالاتت در مورد این دوره رو در بخش نظرات دوره مطرح کن یا به پشتیبانی سایت در تلگرام پیام بده.

برای شرکت در این دوره به پشتیبانی سایت در تلگرام  پیام بدید یا پس از عضویت در سایت از طریق پنل کاربری تیکت بزنید.

فصل اول: نرم افزار چیست؟

مقدمه
خصوصی

این بخش خصوصی می باشد، برای دسترسی کامل به دروس این دوره باید این دوره را خریداری نمایید.

مهندس ها چی تولید میکنن؟
خصوصی

این بخش خصوصی می باشد، برای دسترسی کامل به دروس این دوره باید این دوره را خریداری نمایید.

تفاوت مهندسی نرم افزار و بقیه مهندسی ها؟
خصوصی

این بخش خصوصی می باشد، برای دسترسی کامل به دروس این دوره باید این دوره را خریداری نمایید.

Two values of software
خصوصی

این بخش خصوصی می باشد، برای دسترسی کامل به دروس این دوره باید این دوره را خریداری نمایید.

برنامه نویس ها مهندس هستن یا هنرمند؟
خصوصی

این بخش خصوصی می باشد، برای دسترسی کامل به دروس این دوره باید این دوره را خریداری نمایید.

علامت های دیزاین بد خیلی خیلی مهم
خصوصی

این بخش خصوصی می باشد، برای دسترسی کامل به دروس این دوره باید این دوره را خریداری نمایید.

خلاصه فصل
خصوصی

محتوایی یافت نشد

فصل دوم:‌ معرفی پارادایم Structured و Object Oriented (OO)

دهه ی طلایی
خصوصی

این بخش خصوصی می باشد، برای دسترسی کامل به دروس این دوره باید این دوره را خریداری نمایید.

کابوسی به نام goto
خصوصی

این بخش خصوصی می باشد، برای دسترسی کامل به دروس این دوره باید این دوره را خریداری نمایید.

انقلاب بزرگ, آقای خاص و تولد Structured
خصوصی

محتوایی یافت نشد

داستان هیپ و استک و تولد OO
خصوصی

محتوایی یافت نشد

فصل سوم:‌ Object Oriented (OO) in depth

از این زاویه به OO نگاه نکن!!!
خصوصی

محتوایی یافت نشد

تعریف ماژول, کلاس و دیتا استراکچر
خصوصی

محتوایی یافت نشد

Encapsulation, دروغ تا واقعیت
خصوصی

محتوایی یافت نشد

Inheritance, اژدها در لباس سیندرلا
خصوصی

محتوایی یافت نشد

معرفی Polymorphism
خصوصی

این بخش خصوصی می باشد، برای دسترسی کامل به دروس این دوره باید این دوره را خریداری نمایید.

مساله 1
خصوصی

محتوایی یافت نشد

Polymorphism, پیش به سوی جاودانگی سولوشن مساله 1 با دو رویکرد Structured و Object oriented و مقایسه ی کامل دو رویکرد
خصوصی

این بخش خصوصی می باشد، برای دسترسی کامل به دروس این دوره باید این دوره را خریداری نمایید.

Plugin Architecture
خصوصی

این بخش خصوصی می باشد، برای دسترسی کامل به دروس این دوره باید این دوره را خریداری نمایید.

مساله 2
خصوصی

این بخش خصوصی می باشد، برای دسترسی کامل به دروس این دوره باید این دوره را خریداری نمایید.

تحلیل کوتاه و راهنمای مساله 2
خصوصی

محتوایی یافت نشد

Inheritance, این اژدها ما رو میکشه سولوشن مساله 2 با استفاده از inheritance و بررسی مزیت ها و پیامد ها
خصوصی

محتوایی یافت نشد

Composition, فرشته ی نجات از چنگال اژدها سولوشن مساله 2 با استفاده از Composition
خصوصی

محتوایی یافت نشد

انواع Composition
خصوصی

محتوایی یافت نشد

مقایسه Inheritance و Composition
خصوصی

محتوایی یافت نشد

خلاصه فصل
خصوصی

محتوایی یافت نشد

تمرین ها
خصوصی

محتوایی یافت نشد

پیوست

چند نکته در مورد دیاگرام های uml
خصوصی

محتوایی یافت نشد

راهنمای جاوا: Encapsulation, Inheritance, polymorphism
خصوصی

محتوایی یافت نشد

راهنمای سی شارپ: Encapsulation, inheritance, Polymorphism
خصوصی

محتوایی یافت نشد

قوانین ثبت دیدگاه

  • از درج دیدگاه های تکراری پرهیز نمایید.
  • دیدگاه های نامرتبط به مطلب تایید نخواهد شد.
  • جهت ثبت بازخورد ابتدا محصول را خریداری نمایید.

اولین نفری باشید که در مورد “مبانی Object Oriented (پارت 1.1 OOD)” نظر میدهد.

یه برنامه نویس محقق ...
دوره هـای آمـوزشی مرتبط
related training courses
1400000
29%
1000000 تومان
100%
رضایت
45
دانشجو
Dart & Flutter
Dart 3
1 تومان
آموزش
جــدید
1
دانشجو
دسته بندی اصلی
ارشیو
تعداد دانشجو
33
نوع آموزش
مقاله
سطح آموزش
پیشرفته
سرفصل ها
3
وضعیت
تکمیل شده
100% دوره آموزشی تکمیل شده است
قیمت دوره
250.000 تومان
بازخورد
0 از 0 بازخورد
تاریخ انتشار
1 تیر 1402
تاریخ بروزرسانی
15 مرداد 1402
error: Alert: Content is protected !!