متن این ویدئو :

با عرض سلام و ادب کیایی هستم مدیر وب سایت dotnetexpert.ir  و نویسنده‌ی پلتفرم خودکار

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

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

من اول مدیریت اسمبلی‌ها را برای شما توضیح میدم. ببینید دوستان شما وقتی که می‌خواهید یک وب سایت بنویسید نهایت آن کدهایی که می نویسید همش تبدیل میشن به یک تعداد از dll و یا اسمبلی، در اصل این dll‌ ها هسته اصلی برنامه‌ی شما هستند اینجا تو قسمت مدیریت اسمبلی‌ها توی کدهای تحت دات نت من دو تا Category تعریف کردم , یکی دانت نت فریم ورک و دیگری فریم ورک خودکار، توی قسمت دات نت فریم ورک یک Category دیگه داریم به اسم اسمبلی‌های سیستم شما می بینید اینجا System.dll، System.Web.dll، System.Core.dll، در اصل این  dll ها , اینجا  dll هایی هستند که قرار شما در #C یا VB.NET  ایمپورت کنید همون کاری که تو ویژوال استدیو، dll ها را رفرنس می‌کنید اینجا dll ها برای همین قرار دارند و شما میتونید برای استفاده از این dllها ، Use شون و import شون کنید و دسترسی هم Set کنید.

 حالا من مثلاً اگه System.web.dll را انتخاب می‌کنم چند نکته مهم دارد اولا نوعش را می‌بینید که اسمبلی کامپایل شده است یعنی شما نیازی نیست برای این System.web.dll کدی بزنید بعد گزینه‌ی مهمش مکان ذخیره‌سازی Global است یعنی اینها اسمبلی‌هایی است که در خود Cache دات نت است و قسمت دیگه زبان است که خوب شما می‌دونید که توی  dll ها زبان اهمیتی ندارد و به زبان ماشین تبدیل شدند , منتها ما توی کدنویسی تحت دات نت دو تا زبان #C و VB.NET را پشتیبانی می‌کنیم. 

پس این شد از قسمت اول دات نت فریم ورک،  dll هایی هستند که قرار ما ازشون توی dll های خودمون استفاده کنیم. Category دوم فریم ورک خودکار خودش از سه قسمت تشکیل شده است , یکی اسمبلی‌های مرکزی خودکار یکی سایر اسمبلی‌ها و یه سری هم dll من اول این اسمبلی‌های خودکار را توضیح میدم تو اسمبلی‌های مرکزی خودکار در اصل dll های اصلی خود Sources پلتفرم خودکار هستند، خود پلتفرم خودکار پنج تا لایه دارد، لایه UI، لایه‌ی Core، لایه‌ی Business، لایه‌ی DataAccess و لایه‌ی Model، که اینها تک تکشون یک dll هستند و اینجا قرار دارند برای اینکه شما بتونید در dll ها خودتون ازش استفاده کنید و در اصل dll های خودتون را بتونید بر پایه‌ی اینها توسعه بدهید و نیازی نباشد که همه چیز را از اول بنویسید سریع برنامه خود را بیارید بالا من مثلاً این KS.Core.dll را انتخاب می‌کنم می‌بینید نوعش اسمبلی است، اسمبلی کامپایل شده است و این دفعه مکان ذخیره اش Bin است، این مشخصه دیگه جز اسمبلی های Global نیست پس این شد از قسمت اسمبلی‌های مرکزی خودکار قسمت بعدی سایر اسمبلی‌ها اینها dll ها و nuget packages هایی هستند که توی در اصل پلتفرم خودکار از آن استفاده شده است و رفرنس شده است باز اینها هم هستند برای اینکه شما خودتون از آنها استفاده کنید مثل همون اسمبلی‌های سیستم مال خود دات فریم نت ورک از آنها هم میشه استفاده کنید use شون کنید.

 نوع اسمبلی کامپایل شده است , شما نمی‌تونید روی اینها کد بزنید مکان ذخیرشون Bin است یعنی همراه خود Sources پلتفرم خودکار تو Bin وب سایت قرار گرفته است و دسته‌ی آخر توی Category فریم ورک خودکار در اصل یک نمونه برای آموزش شما که بتونید از پلتفرم استفاده کنید یک برنامه‌ای نوشته شده یک Sources ی هست به اسم KS.Dynamic.dll که باز پنج تا لایه دارد. KS.Dynamic.UI.dll لایه‌ی UI است و KS.Dynamic.Business.dll لایه‌ی bussiness است

و KS.Dynamic.DataAccess.dl لایه ی DataAccess است، KS.Dynamic.Model.dll لایه ی مدل دو تا dll دیگه هم هست که KS.Dynamic.UnitTest.dll برای تست نوشتن است و KS.Dynamic.WebServic.dll برای توضیح و نمونه استفاده از وب سرویس‌های WCF است .

من حالا مثلا  KS.Dynamic.Business.dll را انتخاب می کنم این دفعه می‌بینید نوعش اسمبلی کامپایل نشده است یعنی شما باید تو این اسمبلی کد بزنید و مکان ذخیره سازیش این دفعه Output شما اسمبلی‌های خودتون که می‌نویسید وقتی کامپایل میشن میرن توی یک فولدری در وب سایتتون به اسم Output مثل همون Output ویژوال استدیو منتها این Output پلتفرمه و حالا اگه دقت کنید قسمت‌های وابستگی‌ها هم این مثلا به  System.dll وابسته است یا use اش کرده یا import اش کرده , در VB.NET از این dll استفاده شده.

 انواع اقسام dll ها را use اش کنید پس این KS.Dynamic.Business.dll نمونه کدنویسی شما بود

 شما هر برنامه‌ای که بخواهید بنویسید می‌تونید هر تعداد لایه‌ای که خودتون دوست دارید , اضافه کنید ولی معمولا پنج تا لایه است حالا می‌تونید شما اصلا یک dll داشته باشید ولی اگه می‌خواهید یک dll داشته باشید اون dll، UI تون باشه من حالا dll.UI را باز می‌کنم نوعش اسمبلی کامپایل نشده است ولی این دفعه مکان ذخیره‌سازیش دیگه Output نیست Bin شماست.

 تو برنامه‌تون حتما یک دونه از این dll ها باید داشته باشین , dll های که مکان ذخیره‌سازیشون Bin است برای اینکه بتونید در اصل انتشار بدهید تو Bin وب سایتتون و کدی که نوشتید اجرایی بشه یعنی شما از پنج تا لایه تون نیازی نیست که همشون از Output به Bin بروند اگر نگاه کنید مثلا این دفعه dataAccess را انتخاب کنم باز می‌بینید مکان ذخیره‌سازیش همون Output است اما تنها لایه‌ای یا dll ای که باید publish بشه به فولدر bin وب سایت و قابلیت publish شدن دارد لایه ی UI شما هست.

لایه‌ی UI تون رو حتما باید مکان ذخیره‌سازیش را بزنید فولدر Bin کلا ما سه مکان ذخیره‌سازی داریم Global، که dll های خود سیستمی هستند مال خود دات نت فریم ورک و dll هایی که تو Output هستند و dll هایی که شما می نویسید dll هایی از نوع کامپایل نشده هستند که قرار کد براشون بنویسید کامپایل شون کنید منتها نیازی نیست تو Bin بروند مثل dll های لایه dataAccess تون و dll هایی لایه‌ی business تون و dll هایی که مکان ذخیره‌سازیشون Bin است اینها هم dll های خود پلتفرم هستند مثل KS.Core.dll و KS.Business.dll، KS.UI و سایر dll هایی که تو ساخت پلتفرم از آنها استفاده شده مثل nuget package هایی که تو ساخت پلتفرم از آنها استفاده شده آنها هم نوع ذخیره سازیشون Bin است و یکسری dll هایی کامپایل نشده که قرارشما کد بنویسید و کامپایل شوند و آنها حتما باید برای هر برنامه‌ای یک دونه باشند آن هم لایه‌ی UI که publish بشوند به Bin وب سایت و کد جدید شما بیاید بالا و در اصل اجرایی بشود پس این کلیت Categury‌ هایی بود که شما باید توی کدهای تحت دات نت استفاده کنید.