آموش شی گرایی، تحلیل و طراحی 5 پروژه کاربردی - درسمن

صفحه اصلی / دوره‌های آموزشی / شی گرایی / آموزش شی گرایی، تحلیل و طراحی 5 پروژه کاربردی

آموزش شی گرایی، تحلیل و طراحی 5 پروژه کاربردی


سطح مهارت
متوسط تا پیشرفته
مدت زمان
397 دقیقه
تعداد دانشجویان
520
مدرس
مهدی عباسی
میانگین امتیاز دوره: (16 رای)
1,290,000 تومان
افزودن به سبد خرید
ادامه فرآیند خرید

جلسات


              
مهدی عباسی
مدرس :

مهدی عباسی

مهدی عباسی هستم، مسلط به حداقل ۲۰ زبان مطرح برنامه نویسی به صورت پیشرفته، مدیر عامل شرکت آریا نرم افزار و بنیانگذار آکادمی درسمن، مسلط به تدریس دروس تخصصی کاردانی و کارشناسی کامپیوتر، پایگاه داده ها، برنامه نویسی پیشرفته، مبانی برنامه نویسی، مباحث ویژه طراحی وب و .... مطالعه بیشتر رزومه

توضیحات دوره

آموزش شی گرایی قدرتمندترین ابزار برنامه نویسی

در درسمن بعد از برگزاری دوره هایی از زبان های مختلف برنامه نویسی تصمیم به برگزاری یک دوره آموزشی متفاوت از برنامه نویسی کردیم تا نیازهای اساسی یک برنامه نویس برای تحلیل پروژه را تامین کنیم.
دراین دوره با تحلیل و بررسی مثال‎هایی شما را در فهم شی گرایی یاری میکنیم.

پروژه 1: تحلیل اپلیکیشن ویندوزی موسسه متون خارجی به زبان فارسی 
پروژه 2: تحلیل سیستم حقوق یک شرکت نرم افزاری
پروژه 3: تحلیل اپلیکیشن ویندوزی رزرو بلیط اتوبوس 
پروژه 4: تحلیل وب سایت معرفی کارگاه های هنردستی
پروژه 5: تحلیل سیستم پشتیبانی سایت (ارسال و دریافت تیکت)

مفهوم وکاربرد شی گرایی

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

انواع روشهای برنامه نویسی

با انواع روش های برنامه نویسی آشنا هستید؟

برنامه نویسی ساخت‌یافته (structured programming):

برنامه نویسی ساخت یافته روشی برای سازماندهی و کد کردن برنامه هاست. یک برنامه بزرگ به قسمت‎های کوچکتر تقسیم می‎شود به طوری که هر قسمت وظیفه انجام یک بخش را دارد .

برنامه نویسی رویه‌ای (procedural programming):

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

برنامه نویسی شی گرا (object oriented programming):

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

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


اصول برنامه نویسی شی گرا:

برنامه نویسی شی گرا بر اساس چهار اصل زیر شکل گرفته است:

اصول برنامه نویسی شی گرا چیست؟

  • کپسوله سازی(Encapsulation)
  • انتزاع (Abstraction)
  • وراثت(Inheritance)
  • چندریختی(Polymorphism)


در ادامه به روش ساده این موارد را توضیح میدهیم.

کپسوله سازی

ویژگی های هرشی در محدوده کلاس تعریف میشوند که برای کنترل و دسترسی به آنها محدوده ای تعیین شده است دو حالت private و public این محدوده را برای ما مشخص میکنند. در حالت Private اجازه دسترسی از بیرون کلاس به درون کلاس داده نمی‎شود و فقط در حالت public است که میتوانیم به اجزای درون کلاس دسترسی داشته باشیم. این ویژگی باعث بالا رفتن امنیت داده ها میشود.


انتزاع

انتزاع به این معنی است که ما به جای یک شی خاص روی ویژگیهای اساسی شی تمرکز می کنیم انتزاع فرآیند برداشتن یا حذف ویژگی ها از چیزی به منظور کاهش آن به مجموعه ای از ویژگی های اساسی است. در برنامه نویسی شی گرا، انتزاع یکی از سه اصل اصلی است (همراه با کپسوله سازی و وراثت). از طریق فرآیند انتزاع، یک برنامه نویس برای کاهش پیچیدگی و افزایش کارایی، همه داده های مربوط به یک شی را به جز داده های مربوطه پنهان می کند. انتزاع هم به کپسوله کردن و هم به پنهان کردن داده ها مربوط می شود.
در فرآیند انتزاع، برنامه نویس تلاش می‎کند تا اطمینان حاصل کند که موجودیت به گونه ای نامگذاری شده است که معنادار باشد و تمام جنبه های مربوط را شامل شود و هیچ یک از جنبه های اضافی را در بر نداشته باشد. اینترفیس‌ها و کلاس‌های Abstract ابزاری برای مفاهیم انتزاعی هستند.

وراثت

وراثت مفهومی هست که برای استفاده مجدد از کد در سطح class های برنامه به وجود آمده است اجازه می‎دهد. زمانی که یک کلاس تمامی یا برخی از قابلیت هایش را از کلاس دیگری بگیرد، این کلاس اصطلاحاً از کلاس دیگر ارث بری می کند. پدر و فرزندی را در نظر بگیرید که  پدر مشخصات مخصوص خود را دارد و فرزند او میتواند همه خصوصیات او را به ارث ببرد و خصوصیتهای دیگری هم داشته باشد که پدرش ندارد این مفهوم ارث بری است.


چندریختی

چهارمین اصل شی گرایی که بررسی خواهیم کرد چند ریختی (Polymorphism) است. زمانی که یک شی می تواند در موارد مختلف چندین شکل داشته باشد را چندریختی میگویند.
با استفاده از متدهایی که هم نام هستند ، ولی پارامترهای ورودیشون در تعداد، نوع و ترتیب متفاوت باشه (Method overloading) و بازنویسی متدی از کلاس اصلی ، در درون کلاس هایی که ازش ارث بردن (Method overriding)میتوانیم چند ریختی را پیاده سازی کنیم.

بهترین زبان های برنامه نویسی شی گرا

در ادامه قصد داریم  به بررسی بهترین و پرکاربردترین زبان های برنامه نویسی شی گرا بپردازیم.

بهترین زبان های برنامه نویسی شی گرا چه می باشند؟

پایتون

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

جاوا

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

سی شارپ

#C یکی دیگر از زبان های شی گرا همه منظوره است. این زبان توسط مایکروسافت در سال 2000 به عنوان بخشی از ابتکار NET. توسعه داده شد و شباهت هایی با جاوا، سی و سی پلاس پلاس دارد. سی شارپ نیز به گونه ای طراحی شده است که سایر زبان ها می توانند از آن استفاده کنند. یکی از کاربردهای اصلی سی شارپ برای برنامه های دسکتاپ و وب است که آن را به گزینه ای کاملاً محبوب برای توسعه دهندگانی تبدیل می کند که به دنبال ایجاد نرم افزارهوشمند هستند. برای یادگیری این زبان دوستداشتنی می‎توانید از دوره آموزش سی شارپ با تدریس فوق العاده مهندس مهدی عباسی استفاده کنید.

مزایا و معایب برنامه نویسی شی گرا

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

مزایا:

  • افزایش امنیت برنامه 
  • قابلیت استفاده مجدد 
  • بهره وری توسعه نرم افزار
  • قابل ارتقا و مقیاس پذیر
  • تحلیل ساده‌تر برنامه 
  • انعطاف پذیری
  • کاهش هزینه نگهداری

معایب:

مدل برنامه نویسی شی گرا به دلایلی مورد انتقاد توسعه دهندگان قرار گرفته است. بزرگترین مشکلات برنامه نویسی شی گرا (OOP ) این است که بیش از حد بر مؤلفه داده توسعه نرم افزار تأکید می کند و به اندازه کافی روی محاسبات یا الگوریتم ها تمرکز نمی کند. همچنین، نوشتن کد OOP ممکن است پیچیده‌تر باشد و کامپایل آن بیشتر طول بکشد. 
 

جمع‌بندی:

در دوره آموزش شی گرایی، فقط به تحلیل پروژه ها میپردازیم و شما با کاربرد و مفهوم شی گرایی آشنا می‎شوید به علت هم پوشانی بودن محتوا برای تمامی زبان‌های برنامه نویسی وارد محیط کدنویسی نمی‎شویم. 
 

سوالات متداول

شی گرایی چیست و چرا یادگیری آن برای برنامه نویسان از واجبات است؟

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

این آموزش شی گرایی مناسب چه زبان های برنامه نویسی می باشد؟

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

برای شروع این دوره چه مفاهیمی از برنامه نویسی نیاز است؟

پیش از شروع این دوره برای درک مفاهیم و شیوه استفاده باید به یک زبان برنامه نویس شی گرا و مباحث اولیه و پایه (مبانی برنامه نویسی) آشنا باشید.

مفاهیم شی گرایی برای توسعه دهندگان و برنامه نویسان چه مزیتی دارد؟

افزایش امنیت برنامه، کاهش هزینه نگهداری، قابلیت استفاده مجدد، تحلیل ساده‌ تر برنامه و... از مزایای برنامه نویسی شی گرا می باشد. هرچند مفهوم شی گرایی در ابتدا پیچیده به نظر می آید ولی در دراز مدت در پروژه های بزرگ بسیار کاربردی است و می توانید پروژه های بزرگ را به بخش های کوچک تقسیم کنید و به صورت گروهی روی پروژه کار کنید.

تفاوت برنامه نویسی شی گرا نسبت به برنامه نویسی های دیگر چیست؟

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

نظر شما در تصمیم دیگران اثرگذار است.

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

برای ارسال نظر نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.

نظرات دانشجویان

کاربر درسمن
امیر

سلام امکانش هست پروژه های این دوره بیشتر بشه؟ یا مثل دوره طراحی الگوریتم؛ چندین بخش دیگه هم اضافه بشه ؟

پشتیبانی 1
پشتیبانی 1

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

کاربر درسمن
soltani

سلام وقت بخیر میشه این دوره رو قسطی خریداری کرد؟

پشتیبانی 1
پشتیبانی 1

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

کاربر درسمن
فرهادی

سلام خسته نباشید، من این دوره رو آنلاین شرکت کردم این دوره خیلی در تحلیل پروژه ها و کدنویسی اصولی بهم کمک کرد ممنونم از استاد عباسی تمامی نکته های تحلیل پروژه رو آموزش دادن

پشتیبانی 1
پشتیبانی 1

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

کاربر درسمن
حیدری

سلام در این دوره با چه زبان برنامه نویسی کارشده؟

پشتیبانی 1
پشتیبانی 1

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

در این دوره سعی کرده ایم به سمت و سوی یک زبان برنامه نویسی خاص نریم و آموزش طوری باشد که مناسب هر برنامه نویس با هر زبان شی گرایی که کار میکند باشد.

کاربر درسمن
سیروان

سلام وقت بخیر، ممنون بابت این دوره خوبی که منتشر کردید واقعا یادگیری شی گرایی نیاز هر برنامه نویسی هست موفق و سربلند باشید

پشتیبانی 1
پشتیبانی 1

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

نمایش بیشتر
آموزش شی گرایی

47