• مقدمه ی آموزش

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

 

  • داستان آموزش

قراره توی این دوره ی آموزشی یاد بگیریم چطور یک وب سایت خبری راه اندازی کنیم. قبل از ورود به دوره ی آموزشی یک نیم نگاهی به داستان برنامه نویسی وب سایت خبری بندازیم
داستان 1 : نمایش آخرین پست های خبری 
داستان 2 : نمایش پست ها بر اساس مجموعه های خبری 
داستان 3 : نمایش پست ها بر اساس تگ ها
داستان 4 : جستجوی هوشمند پست ها
داستان 5 : نمایش جزئیات پست ها
داستان 6 : نمایش مجموعه های خبری در ویجت ها
داستان 7 : نمایش تگ ها در ویجت ها
داستان 8 : نمایش اخرین پست ها در ویجت ها

  • تکنولوژی ها

هر داستانی شخصیت هایی داره . شخصیت های وب سایت خبری ما  عبارتند از 
→ ASP.NET MVC 5.2
→ Fluent NHibernate and NHibernate
→ SQL Server 2012 / 2014    
→ Ninject
→ jQuery / HTML / CSS
خب قاعدتاً یادگیری اچ تی ام ال و سی اس اس و جی گوئری قرار نیست یادبدیم. کافیه توی اینتنرنت سرچ کنید و با کلی آموزش توی این زمینه ها روبرو بشید. ما یک قالب آماده استفاده می کنیم چون قراره زبان برنامه نویسی یادبگیریم. جایگذاری کد توی هر قالبی کار راحتی هست.

نکته ی دیگری هم اینجا وجود داره ؛ با اینکه قبلاً قول داده بودم به صورت مفصل EF رو توضیح بدم ( و تا 7 درس هم پیش رفتم - نمونه ای از مقالات انتیتی : بخش سوم آموزش انتیتی) اما تصمیم دارم توی این سری از مطالب از فریمورک دیگری استفاده کنم . مطمئناً هر فریمورکی معایب و مزایای خودش رو داره. در این مقاله قراره از Fluent NHibernate/NHibernate استفاده کنیم که هر دو در بخش دیتا اکسس ( Data Access) قرار دارند.  اما هیچ فرقی نمیکنه که شما از کدوم فریمورک استفاده می کنید. چون انتیتی فریمورک هم همین کارها رو انجام میده. پس سخت نگیرید. در نهایت ما از Ninject  برای  مباحث تزریق وابستگی  ( Dependency Injection ) استفاده می کنیم.

Dependency Injection چیست؟
به صورت خلاصه ترزیق وابستگی و یا dependency injection ، الگویی است جهت تزریق وابستگی‌های خارجی یک کلاس به آن، بجای استفاده مستقیم از آن‌ها در درون کلاس.
برای مثال شخصی را در نظر بگیرید که قصد خرید دارد. این شخص می‌تواند به سادگی با کمک یک خودرو خود را به اولین محل خرید مورد نظر برساند. حال تصور کنید که 7 نفر عضو یک گروه، با هم قصد خرید دارند. خوشبختانه چون تمام خودروها یک اینترفیس مشخصی داشته و کار کردن با آن‌ها تقریبا شبیه به یکدیگر است، حتی اگر از یک ون هم جهت رسیدن به مقصد استفاده شود، امکان استفاده و راندن آن همانند سایر خودروها می‌باشد و این دقیقا همان مطلبی است که هدف غایی الگوی تزریق وابستگی‌ها است. بجای این‌که همیشه محدود به یک خودرو برای استفاده باشیم، بنابر شرایط، خودروی متناسبی را نیز می‌توان مورد استفاده قرار داد.

  • ورودیه!

در قسمت اول این آموزش شما را با زیر ساخت این وب سایت خبری آشنا خواهیم کرد. فقط باید این نکته را عرض کنم که وب سایت ما در حد ایسنا و ایرنا و ورزش 3 و ... نیست! ما در این آموزش تنها به زیرساخت های مشترک اشاره خواهیم کرد و باقی مسائل را بر عهده خود دوستان برنامه نویس می گذاریم. ما در این آموزش یاد خواهیم گرفت چطور یک مدل کلاس بنویسم، یک کامپوننت برای دیتا اکسس، کنترل ها و ویوها را بنویسم. در آخر هم ما یک وب سایتی خواهیم داشت که درج خبر، آرشیو پست ها بر اساس ماه، جستجوی پیشرفته ی خبر ، کانت گذاری اخبار و ...  را داشته باشد. در بخش دوم ما به بخش مدیریت رفته و این بخش را تکمیل می کنیم ؛ چطور پست ها را ، تگ های پست ها را ، مجموعه ها و ... را مدیریت کنیم. و در بخش سوم و پایانی از Disqus برای سیستم کامنت بهره مند خواهیم شد. و البته خواهیم دید چطور AddThis  و FeedBurner را برای به اشتراک گذاری اخبار به کمک می گیریم و در نهایت اگر عمری باقی موند و علممون ته نکشید :دی به مباحث پیشرفته ی سئو خواهیم پرداخت . 
به طور خلاصه ما سه بخش اصلی در این آموزش خواهیم داشت

  • بخش اول : ایجاد زیر ساخت، ایجاد دیتامدل های اساسی و ملزوم، دیتااکسس یا همان دسترسی داده ها ، کنترل ها و ویوها
  • بخش دوم : ایجاد بخش ادمین جهت مدیریت پست ها، مجموعه ها و تگ ها
  • بخش سوم : یکپارچه سازی و استفاده از Disqus, AddThis  و  Feedburner، بخش بندی اجزاء سایت ، استفاده از Elmah جهت باگ گیری و رفع ارور ، ایجاد صفحه های اضافی مانند درباره ما و ...

/پایان مقدمه / 
 

اگر دوست داشتید به اشتراگ بگزارید