لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش SOLID C++
SOLID C++
نکته:
آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره:
یادگیری و تمرین ++C با اصول طراحی شی گرا SOLID کشف نحوه طراحی و نوشتن کدهای شی گرا قوی و قابل نگهداری توسعه درک شهودی از اصول SOLID یاد بگیرید چگونه از اصول SOLID با استفاده از انتزاعات و الگوهای برنامه نویسی مناسب پیروی کنید یاد بگیرید چگونه از اصول SOLID با استفاده از آن پیروی کنید. ویژگی ها و اصطلاحات مختلف زبان C++ بدانید که چگونه پروژه های C++ را ساختار دهید، کدهای شی گرا را آزمایش کنید و اصلاح کنید. اصول SOLID و C++ را در تکالیف و پروژه برنامه نویسی نهایی تمرین کنید (C++17) یاد بگیرید چگونه از کتابخانه های CMake و Boost در پروژه های C++ استفاده کنید. برای استفاده از Google Test برای تست واحد آشنایی با UML (نمودار کلاس و ترتیب) پیش نیازها:C++ مبتدی یا متوسط (برای مثال ها و تکالیف استفاده می شود) درک اولیه OOP (کلاس، چندشکلی، وراثت و غیره) در حالت ایده آل، باید داشته باشید. قبلاً روی چند پروژه سرگرمی کوچک کار کرده اید یا تجربه توسعه نرم افزار تجاری دارید
یادگیری نحو یک زبان برنامه نویسی برای حرفه ای شدن و ساخت نرم افزار با کیفیت بالا کافی نیست. همچنین باید یاد بگیرد که چگونه طراحی خوبی داشته باشد و آن را به درستی پیاده سازی کند تا نرم افزار قوی، قابل نگهداری، انعطاف پذیر و قابل آزمایش باشد. به همین دلیل است که ما به اصول طراحی شی گرا مانند SOLID:
نیاز داریم
مسئولیت تکی
ای قلم بسته شده
جایگزینی L iskov
من جداسازی را واسط میکنم
وارونگی وابستگی D
این احتمالاً کاملترین دوره اصول SOLID در Udemy است. اما از این جهت که بر زبان برنامه نویسی C++ تمرکز می کند نیز خاص است که ما از آن برای مثال ها و تکالیف استفاده می کنیم. و این دوره هم تئوری و هم عملی را پوشش می دهد.
در پایان این دوره شما باید
درکی بصری از همه اصول SOLID ایجاد کنید
درک کنید که چه زمانی به اصول SOLID نیاز است و چه زمانی نه
با استفاده از انتزاعات و الگوهای برنامه نویسی مناسب، بدون توجه به زبان برنامه نویسی، به طور کلی از اصول SOLID پیروی کنید
با نحوه پیروی از اصول SOLID با استفاده از ویژگی ها و اصطلاحات مختلف زبان C++ آشنا شوید
با نحوه ساختار پروژه های C++، تست و بازساز
آشنا شوید
با این حال، در مورد این یا هر دوره دیگری نباید توهم وجود داشته باشد. تنها با گذراندن یک یا چند دوره نمی توان به استاد واقعی طراحی و برنامه نویسی شی گرا تبدیل شد - سالها تمرین نیاز دارد. اما این دوره نقطه شروع خوبی است و پایه های مورد نیاز را فراهم می کند.
بنابراین دقیقاً چه چیزی در دوره پوشش داده می شود؟
ارائه ها (نظریه و مفاهیم در مورد اصول)
مشابه های بصری از دنیای واقعی (برای درک بهتر و به خاطر سپردن اصول)
نمودارهای UML (عمدتاً نمودارهای کلاس با مثال هایی در مورد اصول)
نمونههای کد مستقل زیادی (حداقل تعدادی برای هر اصل)
تقریباً یک پروژه واقعی (برنامه سروری که از طریق اتصال TCP دریافت میکند و گزارشهای مالیاتی را در قالبهای JSON یا XML پردازش میکند) با تستهای واحد و سطح بالا
توضیحاتی درباره نحوه نصب وابستگیهای پروژه، کامپایل آن و اجرای آزمایشها (استفاده از C++17، CMake، کتابخانههای Boost (asio، گزینههای برنامه، و غیره)، تست Google)
آزمونها و آزمون نهایی (برخی نمونههای کد اضافی دارند)
تکالیف برنامه نویسی (کار روی پروژه و غیره)
اگر
هستید، این دوره برای شما مناسب است
یک برنامه نویس C++ مبتدی یا متوسط هستید (اما مبتدی کامل نیستید)
درکی اولیه از OOP (کلاس ها، چندشکلی، وراثت، کپسولاسیون و غیره) داشته باشید
می خواهید بیشتر بیاموزید و مهندس نرم افزار بهتری شوید
در حالت ایده آل، قبل از این دوره باید قبلاً روی چند پروژه سرگرمی کوچک کار کرده باشید یا تجربه توسعه نرم افزار تجاری داشته باشید.
شما باید بتوانید بقیه مواد و فناوری ها را در طول دوره انتخاب کنید. در عین حال، برخی از فنآوریها و نمونههای کاربردی پیشرفتهتر هستند اما برای موضوع اصلی این دوره اختیاری هستند.
و حتی اگر اصولاً در C++ برنامهنویسی نکنید، همچنان خواهید دید که بیشتر نمونههای کد، و همچنین اصول، برای بسیاری از زبانهای برنامهنویسی دیگر اعمال میشوند.
از شما چه انتظاری می رود؟
علاوه بر تماشای سخنرانیها و/یا خواندن سخنرانیها، انتظار میرود که
نمونههای کد و کد منبع پروژه را کامپایل کنید، بخوانید و درک کنید (توانایی خواندن و کار با کد دیگران بسیار مهم است و اغلب دست کم گرفته میشود)
برخی از نمونه های کد ارائه شده را در حین انجام تکالیف اصلاح کنید
در تکلیف نهایی روی کد منبع پروژه کار کنید، عملکرد آن را گسترش دهید و آزمایشها را اضافه کنید
تصاویر در نمونههای بصری از وبسایت pixabay و صدای ویدیوها از وبسایت bensound است.
سرفصل ها و درس ها
معرفی
Introduction
SOLID چیست
What is SOLID
SOLID چیست
What is SOLID
چرا روی C++ تمرکز کنیم؟
Why focus on C++
چرا روی C++ تمرکز کنیم؟
Why focus on C++
مخزن، ارائه ها، کد منبع، تست ها، CI
Repository, presentations, source code, tests, CI
مخزن، ارائه ها، کد منبع، تست ها، CI
Repository, presentations, source code, tests, CI
شرح پروژه با نمودار توالی
Project description with sequence diagram
شرح پروژه با نمودار توالی
Project description with sequence diagram
نمای کلی کد منبع پروژه قبل از SOLID
Project source code overview before SOLID
نمای کلی کد منبع پروژه قبل از SOLID
Project source code overview before SOLID
مروری بر کد منبع پروژه پس از SOLID
Project source code overview after SOLID
مروری بر کد منبع پروژه پس از SOLID
Project source code overview after SOLID
نکات تکمیلی در مورد پروژه
Additional remarks about project
نکات تکمیلی در مورد پروژه
Additional remarks about project
مقدمه تست
Test introduction
مقدمه تست
Test introduction
معرفی
Introduction
نصب، ساخت و تست
Installing, building and testing
ویندوز: دانلود و باز کردن پروژه
Windows: download and open project
ویندوز: دانلود و باز کردن پروژه
Windows: download and open project
نمونه مراقبت از گیاه (ISP + LSP)
Plant care example (ISP + LSP)
نمونه مراقبت از گیاه (ISP + LSP)
Plant care example (ISP + LSP)
ISP را تمرین کنید
Practice ISP
ISP را تمرین کنید
Practice ISP
مثال مراقبت از گیاه ادامه دارد (به دنبال ISP + LSP، وراثت چندگانه، رشته ها)
Plant care example continued (follow ISP + LSP, multiple inheritance, threads)
مثال مراقبت از گیاه ادامه دارد (به دنبال ISP + LSP، وراثت چندگانه، رشته ها)
Plant care example continued (follow ISP + LSP, multiple inheritance, threads)
تغییرات کد منبع پروژه (عملکرد جدید + ISP)
Project source code changes (new functionality + ISP)
تغییرات کد منبع پروژه (عملکرد جدید + ISP)
Project source code changes (new functionality + ISP)
مهندس نرم افزار من یک مهندس نرم افزار هستم و در حال حاضر در یک پروژه فناوری تلفن همراه 5G کار می کنم و به صورت روزانه در ++ C برنامه نویسی می کنم. مهارت های برنامه نویسی من شامل C ++ ، TTCN3 ، Python ، Django ، JavaScript ، Vue.js ، PostgreSQL ، Elasticsearch و غیره است. در اوقات فراغت خودم روی ساختن بستر شخصی در حوزه legaltech کار می کنم یا فن آوری های جدید و الگوریتم را یاد می گیرم.
نمایش نظرات