سحر قاسمی - طراح وب



چرا با mvc کار کردم ؟

آموزش php mvc 

مدتی میشه که سعی میکنم کدنویسی php را در قالب mvc انجام بدم اینطوری خیلی سرعت برنامه نویسی پروژه هام زیاد میشه و خیالم از نظر امنیت هم بیشتر میشه . 

اوایل فکر میکردم mvc مختص یه زبان خاص مثلا برای asp mvc یا همچین چیزایی هست در حالیکه بعد از مطالعه و تحقیق درباره ی mvc فهمیدم که mvc به هیچ زبان یا تکنولوژی خاصی وابسته نیست و مستقل عمل میکنه . 

خب اگر شما یه نگاه کوتاهی به فریمورک های حاضر و آماده ی PHP بیاندازید میبینید که همگی بدون استثنا از MVC استفاده میکنند . 

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

باگ گیری پروژه ها راحت تر میشه چون هر بخش جداست و داره کار خودش رو میکنه بهتر و راحت تر میتونید فایل های php تان را مدیریت کنید . 

 

چطور MVC را وارد پروژه ی PHP کنیم ؟‌

خیلی از دوستام میپرسن چطور mvc را در پروژه ی PHP وارد کنیم خب یه طوری میپرسن انگار MVC یک فایل افزودنی هست که دانلود کنیم و بعد با ترفند هایی به PHP اضافش کنیم نه اینطوری نیست .

mvc یک شیوه است یک الگوی طراحی است که باید از قوانینش تبعیت کنید .

یعنی قرار نیست عملا چیزی به پروژه اضافه کنیم یا کسر کنیم قراره پروژه را سازماندهی کنیم و کدها را مرتب کنیم و هر کدام را جای خودش بنویسیم این کاریه که MVC میکنه 

 

ولی پیش نیازهای کار با mvc  چیه ؟‌

کار با mvc در زبان php

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

خب پس آشنایی و بلد بودن خود php اولین پیش نیاز شماست 

ولی از آنجایی که دائما با کلاس ها و متد ها و بحث هایی مثل وراثت و . سر و کار خواهید داشت شی گرایی دومین پیش نیاز برای شروع و کار با php mvc است . 

 

چه کارهایی میتونم با PHP MVC انجام بدم ؟‌

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

من خودم برای یادگیری PHP MVC از دوره ی آموزشی استاد نیک زاد استفاده کردم که در قالب یک دوره ی آموزشی ساخت یک فریمورک برای php ( بله ! یک فریمورک ) بصورت mvc را تدریس میکنند که واقعا فوق العاده بود و شما هم میتونید باهاش شروع کنید 

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

دوره ی آموزش php mvc استاد نیک زاد

دوره ی اموزش ساخت فریمورک php mvc استاد نیک زاد 

 

اما یک مشکل اساسی دیگر که باید بدونید 

 

mvc یک معماری سه لایه نیست 

سالهاست که در دانشگاه ها و آموزش ها میگن معماری سه لایه mvc . :(‌ حتی من سر این موضوع با خیلی ها بحث کردم و حتی یه استاد بخاطر همین موضوع کلی مسخرم کرد 

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

خب برای روشن شدن موضوع من منبع اصلی انگلیسی میدم بخونید .

درباره ی معماری سه لایه اینجا کلیک کنید 

و درباره ی mvc اینجا کلیک کنید 

.

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

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

تصویر زیر هم خیلی کمک میکنه تا مسئله ی تفاوت بین MVC و معماری سه لایه را درک کنید 

تفاوت معماری سه لایه با MVC

همانطور که در تصویر بالا میبینید mvc یا همان بخش های model view controller درون بالاترین لایه ی یک سیستم معماری سه لایه قرار گرفته یعنی لایه ی presentation .

و این نشون میده که این دو مفهوم جدایی هستند 

 

پایان

 


شروع برنامه نویسی با این مقاله بصورت اصولی انجام بدهید

 

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

برای هر کاری شروع خیلی مهم است و اگر شروع یک شروع خوبی باشد مطمئن باشید که ادامه ی مسیر هم لذت بخش و خوب خواهد بود.

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

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

 

 

 

تصور باطل درباره ی شروع برنامه نویسی که اکثرا مردم دارند

 

برای شروع برنامه نویسی بهتر است درباره ی یک تصور باطل درباره ی برنامه نویسی صحبت کنیم که خیلی مهم است و این تصور باطل باعث شده است که بسیاری از افراد بعد از ورود به دنیای برنامه نویسی از آن دده شده اند و به زودی آنرا کنار گذاشتن !

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

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

 

آموزش شروع برنامه نویسی بصورت اصولی

 

 

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

  • الگوریتم و الگوریتم نویسی

  • فلوچارت

  • توانایی حل مسائل برنامه نویسی

  • سیستم عامل ها و نحوه ی کار کردن آنها

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

  • طراحی الگوریتم ها

  • ساختمان داده ها

  • مدارات منطقی

  • زبان ماشین و نحوه ی کار کردن آن و .

پس این تصور باطل را کاملا از ذهن خود بیرون کنید که برای شروع برنامه نویسی باید مشخص کنید در آینده میخواهید چه کاره شوید :)))

 

برای شروع برنامه نویسی چه زبان برنامه نویسی را انتخاب کنم ؟‌

 

اگر این سوال از من پرسیده بشه همیشه پاسخم یک کلمه است : سی پلاس پلاس و تمام !

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

کشور ایران از این نظر خیلی امیدوار کننده است چون من شنیدم در دانشگاه اولین زبان برای شروع برنامه نویسی زبان سی پلاس پلااس را تدریس میکنند که خیلی عالیه !

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

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

 

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

 

دلیل انتخاب من هم اینها بودند که نمیتوانید همه ی این ها را در هیچ زبانی بجز سی یا سی پلاس پلاس پیدا کنید البته قدیم با پاسکال هم شروع میکردند ولی این زبان یک زبان منسوخ شده است :‌

  • درک بهتر اصول برنامه نویسی در c++

  • سینتکس همگانی که در اکثر زبان های برنامه نویسی یکسان است و باعث میشود یادگیری دیگر زبان ها در آینده بسیار راحت تر شود.

  • زبان قدرتمند که اکثر نرم افزارهای قوی با آن نوشته شده است

  • یک زبان کراس پلتفرم که همه جا قابل استفادست

  • و .

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

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

از لینک زیر میتوانید این دوره را تهیه کنید : دوره ی آموزش شروع برنامه نویسی با دوره ی ۱۲ قدم

دوره ی آموزش خوب برای شروع برنامه نویسی

 

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

 

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

 

بهتر است در نظر داشته باشید که یادگیری برنامه نویسی فرآیندی زمان بر هست و بهتر است زمان بگذارید البته اینطور هم نباشد که این تصور به هدر رفتن زمان شما منجر شود.

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

باید تعادل را حفظ کنید .

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

انسان ها با هم تفاوت دارند و از نظر هوش و ذهن برنامه نویسی نیز یکسان نیستند پس نمیتوان یک تایم مشخصی برای برنامه نویس شدن تعیین کرد.

شروع برنامه نویسی زمانی ادامه دار خواهد بود که شما کاملا به این مسئله عادت کنید که در برنامه نویسی همیشه باید در حال یادگیری مباحث جدیدی باشید تا بتوانید با تغییرات پیشرفت کنید و موفق شوید.

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


آخرین ارسال ها

آخرین جستجو ها