آموزش در حال توسعه نرم افزار قابل توسعه

Developing Extensible Software

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیویی برای نمایش وجود ندارد.
توضیحات دوره: این دوره به شما الگوهایی را آموزش می دهد که به شما امکان می دهد نرم افزار خود را از بلوکهای ساختنی قابل تعویض بسازید و همچنین به توسعه دهندگان آینده امکان می دهد آن را به راحتی گسترش دهند. شما یاد خواهید گرفت که چگونه نگه داشتن برنامه های خود را حتی در حالت مداوم آسان تر کنید ... همه را بزرگ کنید خوش آمدید و توضیحات دوره 3 متر 52s اهمیت توسعه پذیری 9 متر 48s تزریق انتزاع و وابستگی 18 متر 15 ثانیه ارائه دهندگان اجرا 33 متر 58 ماژول های پیاده سازی 53 متر 0 ثانیه استفاده از ماژول پیشرفته 23m 26s خطوط لوله 43 متر 0 ثانیه مقدماتی رویه 33 متر 18 متری با استفاده از MEF 20 متر 56 نتیجه 1m 34s علائم تجاری و نامهای تجاری اشخاص ثالث ذکر شده در این دوره متعلق به صاحبان مربوطه می باشند و Pluralsight وابسته یا تأیید شده توسط این احزاب نیست.

سرفصل ها و درس ها

خوش آمدید و توضیحات دوره Welcome and Course Description

  • دوره The Course

  • دستور کار دوره Course Agenda

اهمیت توسعه پذیری Importance of Extensibility

  • نه فقط برای افزونه ها Not Just For Plug-Ins

  • خطر: مراقب انفجار باشید Danger: Beware Of Explosion

  • این همه چیز در مورد جدا شدن و انتزاع است It's All About Decoupledness and Abstraction

  • مطالعه موردی موتور تجارت Commerce Engine Case-Study

  • تجارت مشتری مشتری مشتری Commerce Engine Client Walkthrough

  • تجارت موتور Walkthrough Commerce Engine Walkthrough

  • چرا آنقدر بد بود؟ Why Was That Bad?

تزریق انتزاع و وابستگی Abstraction and Dependency Injection

  • DI: اولین قدم توسعه پذیری DI: Extensibility's First Step

  • نصب ظرف DI Installing the DI Container

  • چک کردن مخزن داده Abstracting Out the Data Repository

  • ثبت کانتینر و حل آن Setting Up the Container Registration-and-Resolve

  • در حال کلاسهای دیگر باشید DI'ing Up the Other Classes

  • DI فقط آغاز است DI Is Only the Beginning

ارائه دهندگان اجرا Implementing Providers

  • ارائه دهندگان چیست؟ What Are Providers?

  • پیش بینی پیکربندی Envisioning the Configuration

  • اصلاح کلاسهای ارائه دهنده Modifying the Provider Classes

  • بازسازی در پروژه های جدید Refactoring Out to New Projects

  • تنظیم کلاسهای پیکربندی Setting Up the Configuration Classes

  • اتمام و نصب کلاسهای پیکربندی Finishing and Installing Configuration Classes

  • رفع وابستگی ها در کلاس CommerceManager Fix Up Dependencies in the CommerceManager Class

  • ارائه دهندگان را به کلاس CommerceManager وصل کنید Plug Providers Into the CommerceManager Class

  • رفع مشتری و تست در حال اجرا Fixing the Client and Running Test

  • چگونه می خواهم به قابلیت آزمایش برسم How Am I Going to Reachieve Testability

  • نوشتن تنظیمات کارخانه Writing the Configuration Factory

  • تزریق تنظیمات کارخانه Injecting the Configuration Factory

  • خلاصه Summary

ماژول های پیاده سازی Implementing Modules

  • ماژول ها چیست؟ What Are Modules?

  • اجازه دادن به کاربران موتور برای افزودن عملکرد Allowing Engine Users to Add Functionality

  • نحوه کارکرد الگوی ماژول How the Module Pattern Works

  • جایی که می خواهم یک نقطه قابل انعطاف را در موتور قرار دهم Where I Want to Place an Extensibility Point in the Engine

  • تنظیم رویدادهای تجاری و کد مرتبط Setting Up the Commerce Events and Associated Code

  • نوشتن نوع رابط ماژول Writing the Module Interface Type

  • اضافه کردن تعریف به تنظیمات کارخانه Adding Definition to the Configuration Factory

  • افزودن کلاسهای پیکربندی بیشتر Adding More Config Classes

  • در اطلاعات ماژول بخوانید و مقداردهی اولیه کنید Read In Module Information and Initialize

  • فراخوان رویداد ماژول از CommerceManager Calling Module Event From CommerceManager

  • نوشتن و نصب ماژول ارتقا مورد Writing and Installing the Item Promotion Module

  • نوشتن و نصب ماژول Sku Miner Writing and Installing the Sku Miner Module

  • ماژول ها بیشتر یا کمتر به برنامه میزبان گره خورده اند Modules More or Less Tied to the Hosting App

  • دسترسی ماژول به منابع برنامه میزبانی وب Giving a Module Access to Hosting App Resources

  • اصلاح ماژول برای استفاده از منابع مستقل خود Modifying the Module to Use Its Own Standalone Resources

  • نوشتن آزمون واحد برای ماژول Sku Miner Writing a Unit Test for the Sku Miner Module

  • نوشتن آزمون واحد دوم برای ماژول Miner Sku Coupled Writing a Second Unit Test for the More Coupled Sku Miner Module

  • واحد تست کلاس CommerceManager Unit Testing the CommerceManager Class

استفاده از ماژول پیشرفته Advanced Module Usage

  • اضافه کردن آرگومان ها برای ماژول ها Adding Arguments for Modules

  • آنچه می خواهم پیکربندی به نظر برسد What I Want the Config to Look Like

  • در عوض از مجموعه تنظیمات ارائه دهنده استفاده کنید Using the Provider Settings Collection Instead

  • با استفاده از پارامترهای تنظیمات ارائه دهنده Using the Provider Settings Parameters

  • پذیرش لیست پارامتر در ماژول ها Accepting the Parameter List into the Modules

  • اصلاح ماژول برای استفاده از پارامترها Modifying the Module to use Paramters

  • بررسی پارامترهای ناشناخته Checking for Unknown Parameters

  • تنوع الگوی ماژول Variation of the Module Pattern

  • حذف همه موارد پیکربندی Removing All Config Stuff

  • افزودن ویژگی سفارشی و تنظیم برنامه Adding the Custom Attribute and App Setting

  • تغییر تنظیمات کارخانه Modifying the Configuration Factory

  • کارخانه پیکربندی را به پایان برسانید و اجرا کنید Finishing Up the Configuration Factory and Running

  • برای شکستن هر مرحله از موتورها از ماژول استفاده کنید Use Modules to Break Out Every Engine Step

خطوط لوله Pipelines

  • خط لوله چیست؟ What is a Pipeline?

  • خط لوله ASP.NET The ASP.NET Pipeline

  • خط لوله WCF The WCF Pipeline

  • خط لوله موتور تجارت The Commerce Engine Pipeline

  • درباره چگونگی شکستن مراحل صحبت کنید Discuss How to Break out the Steps

  • شروع رویداد اعتبار سنجی - مشتری Starting the Validate-Customer Event

  • تماس با رویداد اعتبار سنجی - مشتری Calling the Validate-Customer Event

  • نوشتن ماژول اعتبارسنجی مشتری Writing the Validate-Customer Module

  • نصب ماژول و در حال اجرا Installing the Module and Running

  • بقیه کلاسهای Event-Args The Rest of the Event-Args Classes

  • به روزرسانی کلاس CommerceEvents Updating the CommerceEvents Class

  • بقیه ماژول ها را وارد کنید Include the Rest of the Modules

  • تنظیم کلاس CommerceManager Adjusting the CommerceManager class

  • نصب بقیه ماژول ها و در حال اجرا Installing the Rest of the Modules and Running

  • تنظیم صحنه برای چارچوب خط لوله Setting the Scene for the Pipeline Framework

  • ایجاد کلاس CommerceContext Creating the CommerceContext Class

  • ایجاد کلاس CommercePipelineEvents Creating the CommercePipelineEvents Class

  • نوشتن اعتبارسنجی ماژول خط لوله مشتری Writing the Validate Customer Pipeline Module

  • تنظیم Pipeline Config و Add Module Setting Up the Pipeline Config and Add Module

  • اضافه کردن و نصب سایر ماژول ها Adding and Installing the Other Modules

  • اصلاح CommerceManager برای شروع خط لوله Modifying the CommerceManager to Kick Off the Pipeline

  • دو الگو را با هم مش کنید Mashing the Two Patterns Together

مقدماتی رویه Procedural Overriding

  • Overraling رویه ای چیست؟ What is Procedural Overriding?

  • از طریق موتور فعلی قدم بزنید Walk Through the Current Engine

  • ایجاد کلاس عملکرد پیش فرض Creating the Default Functionality Class

  • تنظیم ویژگی های CommerceManager Setting Up the CommerceManager Properties

  • استفاده از کلاسهای پیش فرض از CommerceManager Using the Default Classes From CommerceManager

  • رفع مشتری و در حال اجرا Fixing the Client and Running

  • نوشتن کلاسهای جایگزینی برای مشتری Writing the Replacement Classes Into Client

  • تزریق کلاسهای جایگزین به مشتری Injecting the Replacement Classes Into Client

  • توصیف فضای مسئله واقعی در این الگو Describing a Real-World Problem Space For This Pattern

  • نوشتن کلاس سازگار با وضوح Writing the Contructor Resolver Class

  • جایگزینی رفتار رمزگذاری شده با رزولوشن Replacing the Hardcoded Behavior With the Resolver

  • نوشتن یک سازنده جدید Writing a New Constructor Resolver

  • با استفاده از New Constructor Resolver Using the New Constructor Resolver

با استفاده از MEF Using MEF

  • چرا و چه وقت از MEF استفاده کنیم Why and When to Use MEF

  • افزودن MEF و حذف Unity Adding MEF and Removing Unity

  • حذف Instantiation از کلاس ConfigurationFactory Removing Instantiation From ConfigurationFactory Class

  • ساخت کاتالوگ های MEF Building the MEF Catalogs

  • ایجاد کانتینر MEF Creating the MEF Container

  • ثبت مخزن فروشگاه Registering the Store Repository

  • علامت گذاری سایر صادرات Marking All Other Exports

  • حل CommerceManager Resolving the CommerceManager

  • حل کردن در کلاس ConfigurationFactory Resolving Into the ConfigurationFactory Class

  • تست بدون ماژول Testing Without Modules

  • شروع اولیه ماژول ها و در حال اجرا Initializing Modules and Running

نتیجه Conclusion

  • در نتیجه In Conclusion

نمایش نظرات

آموزش در حال توسعه نرم افزار قابل توسعه
جزییات دوره
3h 46m
106
Pluralsight (پلورال سایت) Pluralsight (پلورال سایت)
(آخرین آپدیت)
518
4.7 از 5
دارد
دارد
دارد
Miguel Castro
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Miguel Castro Miguel Castro

این که آیا در TRS-80 رادیو کلاه محلی بازی می کند یا سیستم هایی را برای مشتریان در سراسر جهان طراحی می کند ، میگل از 12 سالگی مشغول نوشتن نرم افزار است. وی اصرار دارد که به شدت درگیر و به روز در مورد همه جنبه های طراحی و توسعه نرم افزار و پروژه هایی باشد که تنوع آنها را در نوع آموزش و مشاوره ای که به مشتریان خود ارائه می دهد و معتقد است که هرگز فقط شناخت فن آوری ها نیست ، بلکه چگونه فن آوری ها با هم کار می کنند میگل از سال 2005 یک MVP مایکروسافت است و هنگامی که مشاوره یا آموزش نمی دهد ، میگوئل در کنفرانس های سراسر جهان صحبت می کند ، ترکیبی از تکنیک روی صحنه و کمدی را تمرین می کند و هرگز مسابقه فرمول 1 را از دست نمی دهد.