هیچ دوره ای در سبد خرید شما وجود ندارد
solid چیست ؟
solid یک کلمه مخفف برای ۵ اصل برنامه نویسی میباشد . این اصول باعث میشود تا کد برنامه ها خوانا تر ، قابل درک تر ، تمیز تر و بهینه تر باشد و در نتیجه توسعه راحت تری داشته باشد .
به عنوان یک برنامه نویس شما باید با این اصول برنامه نویسی بصورت کامل آشنا باشید و در کد های خود این اصول را رعایت کنید زیرا میتوانید به آسانی توسعه نرم افزار خود را انجام دهید و دیگر برنامه نویسان هم به راحتی میتوانند بر روی توسعه نرم افزار شما (یا نرم افزار شرکت شما) کار کنند .
اصول solid در برنامه نویسی در اوایل سال ۲۰۰۰ توسط مهندسی به نام robert martin ایجاد شده ،ابتدا این اصول عمو باب یا (uncle bob) شناخته میشد .
به جرعت میتوان گفت اهمیت این اصول(اصول solid) از کد نویسی تمیز هم به مراتب بالاتر است !
در دوره آموزش solid چه می آموزید ؟
شما در این دوره ۵ اصل سالید (solid) را فرا خواهید گرفت :
- Single Responsibility Principle
- Open-Closed Principle
- Liskov Substitution Principle
- Interface Segregation Principle
- Dependency Inversion Principle
اگر دقت کنید و کلمات اول هر جمله را کنار یکدیگر قرار دهید به کلمه solid میرسید و اما این اصول هر کدام برای یکی از مشکلات برنامه نویسی مورد استفاده قرار می گیرند !
این دوره چه بازارکاری دارد ؟
فرض کنید به مصاحبه شرکت برنامه نویسی دانشجویار رفته اید یا بصورت مجازی در حال گرفتن مصاحبه از شما هستند ، یکی از سوالاتی که بصورت قطعی از شما پرسیده خواهد شد اصول سالید (solid) میباشد ، چرا ؟
این اصول یکی از مهم ترین استاندارد های برنامه نویسی میباشد و نیاز بر این است که برای داشتن محصول خوب ، کد خوب و به طبع برنامه نویس خوب داشته باشید .
هرچند که اصول سالید در برنامه نویسی را میتوان در زمان اندکی یاد گرفت اما درک این موراد ممکن است زمان بر باشد و تا زمانی که این اصول را به طور کامل مورد استفاده قرار دهید حداقل چندین هفته زمان میگذرد !
داشتن دانش اصول solid در برنامه نویسی سطح شما را افزایش و درنتیجه میزان حقوق استحقاقی شما را افزایش دهد!
پیش نیازهای این دوره چیست ؟
شما تنها باید با یکی از زبان های برنامه نویسی اشنا باشید ، این دوره نیازی خاصی به زبان برنامه نویسی خاصی ندارد و شما می توانید که از هر زبان برنامه نویسی استفاده کنید .
همانطور که ذکر شد هدف از SOLID توسعه کدهای با خوانایی بالاتر و توسعه پذیر تر و همچنین ایجاد یک استاندارد بین تمامی توسعه دهندگان است.
سرفصل های دوره آموزش solid :
در ابتدا به اولین حرف در solid میپردازیم
- S : Single Responsibility Principle
در این اصل به این نتیجه میرسیم که: یک کار انجام بده اما درست انجام بده!
سپس به دومین حرف یعنی O میپردازیم
- O:Open-Closed Principle
یعنی هر کلاس باید قابل توسعه باشد ولی تغییر نکند.
به سومین حرف و سومین اصل میرسیم L
- L:Liskov Substitution Principle
یعنی کلاس های فرزند نباید رفتار کلاس والد را تغییر دهد !
چهارمین اصل ، اصل جداسازی اینترفیس ها
- I:Interface Segregation Principle
در این اصل به این مورد می پردازیم که داشتن interface های کوچیک بهتر از داشتن یک interface بزرگ است.
و آخرین اصل
- D:Dependency Inversion Principle
به این معنی است که کلاس ها و ماژول ها به جز لایه انتزاعی (abstraction layer) نباید به لایه پایین تر از خود وابستگی داشته باشند.\\\\\\\\
بدون استفاده از اصول SOLID مشکلات زیر وجود خواهد داشت:
- Rigidity
به خاطر وابستگی بیش از حد کلاس ها و توابع به یکدیگر انجام تغییرات به سختی امکان پذیر است.
- Fragility
به خاطر وابستگی بیش از حد کلاس ها و توابع به یکدیگر هر بار باید متدها و یا توابع تغییر پیدا کنند.
- Immobility
استفاده از کلاس ها و یا متدها به خاطر وابستگی بهم دیگر یا پیچیدگی امکان پذیر نیست.
- Viscosity
تغییرات با اضافه کردن کد های اشتباه امکان پذیر بود ولی پروژه بزرگ و بزرگتر میشد و امکان توسعه وجود نداشت.
- Duplication
متد ها در جاهای مختلف تکرار میشدن و در صورت رفع باگ یا مشکلی نیاز بود در تمامی جاهای که متد نوشته شده بود تغییرات اعمال شود.
در کنار این موارد باید در نظر گرفت که :
- مثل دنیای واقعی، رعایت کردن همه اصول سالید در برنامه نویسی غیر ممکن است.
- برنامههای خیلی کمی وجود دارند که همهی این 5 اصل رو همزمان پیادهسازی کرده باشند.
- اعمال کردن هر اصل باید با چشم باز انجام شود.
این دوره برای چه کسانی مناسب است ؟
به عنوان برنامه نویس ، شما باید تمامی اصول solid در برنامه نویسی را بطور کامل مسلط باشید !
چه برنامه نویس مبتدی چه برنامه نویس حرفه ای یا حتی دانشجو ، همه باید برای ارتقا سطح دانش و سطح کاری این موارد ( اصول سالید (SOLID) ) را مسلط باشید .
در انتها باید این را هم گفت که اصول solid پایه ثابت تمامی سوالات مصاحبه می باشد
چه نرم افزارهایی در این دوره استفاده شده است ؟
شما میتوانید از هر IDE استفاده کنید یا هر نرم افزار ویرایش متن مانند VS CODE یا حتی از NANO و VIM.
شما از هر نرم افزاری که راحت تر هستید استفاده کنید !
مزیت این دوره نسبت به سایر دوره های مشابه چیست ؟
در این دوره به صورت خلاصه به شما تمامی اصول سالید (SOLID) آموزش داده می شود .
نیازی به آموزش های طولانی و توضیحات سنگین که گاها باعث گیج شدن شما شود نیست در کوتاه ترین زمان ممکن و با مثال های برنامه نویسی دنیای واقعی این اصول به شما آموخته می شود !
مانند تمامی دوره های میتوانید از طریق راه های ارتباطی با بنده در ارتباط باشید و تمامی سوالات خود را مطرح کنید ، می توانید سوالات خود را در بخش نظرات این دوره مطرح کنید .
milad.drg دانشجوی دوره
سلام من دوره را با موفقیت گذراندم ولی هنوز مدرک رو دریافت نکردم.
لطفا رسیدگی نمایید.
با تشکر
حسن رجبیان
سلام وقت بخیر
مدرک شما صادر شد دوست عزیز
goodyear4000 دانشجوی دوره
سلام خدمت شما
امکانش هست یک مثال از نحوه استفاده از قالب در درس 6 گفتید بزنید؟
با تشکر فراوان