1 / 100

مهندس سعید عاطفی

پنچ شنبه 24 تیر ماه سال 1389. سمینار ایجاد و توسعه نرم افزارهای کاربردی تحت وب با استفاده از تکنولوژی های موجود در Microsoft .NET Framework 4. مهندس سعید عاطفی. فریمورک دات نت چیست ؟. فریمورک دات نت چیست ؟.

selia
Download Presentation

مهندس سعید عاطفی

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. پنچ شنبه 24 تیر ماه سال 1389 سمینار ایجاد و توسعه نرم افزارهای کاربردی تحت وب با استفاده از تکنولوژی های موجود در Microsoft .NET Framework 4 مهندس سعید عاطفی

  2. فریمورک دات نت چیست؟

  3. فریمورک دات نت چیست؟ مجموعه ای از کلاس ها ، انواع ، توابع و متدهای از پیش تعریف شده که دریک قالب واحد و در گروه بندی های مجزا در کنار یکدیگر قرار گرفته اند.این کلاسها و متـدها در هنگام نوشتن انواع برنامه ها به ما کـمـک می کنند و مورد نیاز ما می باشند.

  4. فریمورک دات نت چیست؟

  5. بخش های اصلی تشکیل دهنده فریمورک دات نت

  6. فریمورک دات نت • Web Service • Web Forms HTML-based applications • Rich Windows GUI applications(Windows Application) • Rich Internet Applications (RIAs) • Windows console applications لیست برنامه های کاربردی قابل ایجاد

  7. فریمورک دات نت • System.Data • System.IO • System.Threading • System.Xml • … فضای نام های موجود در FCL

  8. فریمورک دات نت • CLR(Common Language Runtime) • CTS(Common Type System) • CLS(Common Language Specification) اجزای اصلی

  9. Common Language Runtime هسته اصلی و مرکزی فریمورک دات نت می باشد و امور مربوط به اجرای کدها را مدیریت می کند. وظیفه اصلی CLR پیدا کردن ،لود کردن و مدیریت نوع های موجود در دات نت می باشد. همچنین مدیریت حافظه،Thread ها و Security Check ها را نیز انجام می دهد.

  10. Common Type System Class Structure Delegate Enumeration Interface

  11. CTS Type Members هر یک از انواع بالا می توانند دارای اعضایی باشند که به آنها Type Member می گویند. constructor, finalizer, static constructor, nested type, operator, method, property, indexer, field, read-only field, constant, event

  12. CTS Data Types انواع داده اي كه هر يك از زبانهاي دات نت موجود است و مي توان با استفاده از آنها اقدام به تعريف متغيير ها نمود.

  13. Common Language Specification CLS مجموعه قوانینی می باشد که در جهت Cross Languaging بکار می رود. یعنی کدی که شما در یک زبان تحت دات نت می نویسید در صورت استفاده در زبان دیگری از دات نت باید از قوانین خاصی پیروی کند. این ویژگی ها و قوانین به نحوی زیر مجموعه قوانین CTS می باشند.

  14. CLR/CTS Common Language Specification C# VB.NET CLS FORTRAN

  15. Common Language Specification قوانین CLS قانون اول : قوانین CLS تنها درمورد آن بخش از یک نوع عمل می کنند که قرار است در خارج از اسمبلی که آن نوع تعریف شده است استفاده شوند.

  16. Common Language Specification مثال :

  17. Common Language Specification نوع UInt32 در صورتیکه به عنوان خروجی متدی قرار داده شود مطابق با CLS نمی باشد. متدهای 1و 2 با نام های مشابه و خروجی های مختلف تعریف شده اند. گرچه در C# این دو نام یکی نیستند ولی اگر این متدها بخواهند در زبانهای دیگری مانند VB.Net که به حروف حساس نیستند استفاده شوند دچار مشکل می شویم.

  18. Common Language Specification مثال2 :

  19. شِيء گراييObject Oriented Programming

  20. نحوه کامپایل شدن کدها در فریمورک دات نت

  21. Microsoft .Net Compiler

  22. Microsoft .Net Compiler

  23. Microsoft .Net Compiler

  24. تغییرات فریمورک دات نت از ابتدا تا کنون

  25. Microsoft .Net Framework

  26. Concurrent= Parallel Parallelization

  27. Multithreading اگر شما بخواهید برنامه شما در زمان اجرا به بخشهای کوچکتری تقسیم شود که هر بخش نیز بتواند بصورت همزمان اجرا شود باید از MultiThreading استفاده کنید. CPU بین Thread های مختلف Switch می کند و در بازه های زمانی معینی بخشی از هر Thread را جلو می برد.

  28. Asynchronous Programming

  29. Synchronous ProgrammingASP.NET Page Life Cycle

  30. Asynchronous ProgrammingASP.NET Page Life Cycle

  31. Asynchronous Programming

  32. استفاده از موازی سازی برای چه برنامه هایی مناسب است؟ Parallelization

  33. معماری لایه بندی

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

  35. لايه بندي چيست؟ جداسازي كدهاي نوشته شده در برنامه بر اساس Business Logic , User Interface , Data Access را ميتوان لايه بندي ناميد. در لايه بندي ما سعي مي كنيم بر اساس هر يك از موارد بالا كدها را در لايه هاي مربوطه قرار داده و ارتباط بين لايه ها را برقرار نماييم.

  36. انواع جدا سازی کدها Physical Separation Logical Separation

  37. انواع جدا سازی کدها Physical Separation در معماری Tier-Based ما کدها را در اسمبلی هایی مختلفی ذخیره می کنیم.به عنوان مثال می توانیم یک اسمبلی برای Web Project و یک اسمبلی نیز برای Business Codeهای خود داشته باشیم.فایده این روش این است که می توانیم کدهای خود را در سرورهای مختلف در مکان های جفرافیایی خاصی قرار دهیم.

  38. انواع جدا سازی کدها Logical Separation جداسازی در لایه های (Layer) مختلف به معنی جداسازی منطقی کد ها در حالیکه کل برنامه در یک اسمبلی قرار دارد می باشد. ما می توانیم کد های خود را در فولدرهای جداگانه ای که هر کدام معرف یک فضای نام جدا می باشند قرار دهیم و دسته بندی نماییم.

  39. فواید طراحی معماری N-Layer سازماندهی منطقی (Logically) کدها نگهداری و تعمیر و عیب یابی آسانتر استفاده مجدد بهتراز کدها (Code Reuse) شفافیت و خوانا بودن بالای کدها

  40. فواید معماری فیزیکی N-Tier کارایی (Performance) مقیاس پذیری (Scalability) امنیت(Security) قدرت تحمل نقص (Fault Telorance)

  41. فواید معماری فیزیکی N-Tier قدرت تحمل نقص (Fault Telorance) The network feed to your user’s buildings The power feed to your user’s buildings The network feed and power feed to your data center The primary DNS host servicing your domain Your firewall, routers, switches, etc. Your web server Your application server Your database server Your internal LAN

  42. معماری فیزیکی N-Tier موارد زیر باعث کاهش پیچیدگی می شوند App بزرگ و پیچیده باشد. APP ، یکی از APP های به هم مرتبط باشد که اگر باهم ترکیب شوند پیچیده و بزرگ می شوند. محیط ما بزرگ و پیچیده باشد.(توسعه ، پشتیبانی و سایر فاکتورها)

  43. معماری فیزیکی N-Tier موارد زیر باعث افزایش پیچیدگی می شوند APP ، کوچک باشد. APP ، بخشی از یک گروه برنامه های بهم مرتبط نباشد. محیط کاری ما پیچدگی و بزرگی چندانی نداشته باشد.

  44. لایه های استاندارد Interface-Peresentation Business Logic Layer Data Access Layer Service Layer

  45. لایه های استاندارد Interface این لایه به دو بخش تقسیم می شود.یک بخش مربوط به Client است که شامل کدهای JS و... می باشد و بخش دیگر در سمت سرور می باشد که مربوط به نمایش فرم ها و چگونگی نمایش داده ها و خواندن آنها توسط کنترل های موجود در صفحه ، می شود که می تواند Win Form ، WCF Form یا Asp.Net Form و... باشد.

  46. لایه های استاندارد Business Logic Layer این لایه شامل همه الگوریتم های محاسباتی و عملیاتی می باشد که با سایر لایه های Data و Interface در ارتباط است.این لایه شامل بیشترین منطق برنامه می باشد و به همین دلیل آن را Business Logic Layerمی نامند.

  47. لایه های استاندارد وظایف Business Logic Layer Data Validation Business Rules Manipulation Authorization ...

  48. نحوه تقسیم Logic در هر لایه لایه های استاندارد

  49. لایه های استاندارد • نحوه تقسیم Logic در هر لایه

  50. آیا این تقسیم بندی در عمل ممکن است؟ لایه های استاندارد

More Related