پیشنهاد فرادرس

دوره Developing Extensible Software

دسته بندی ها: دات نت ، آموزش های پلورال سایت (Pluralsight) ، آموزش WCF ، آموزش ASP.NET

دوره-developing-extensible-software

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

این دوره آموزشی محصول موسسه Tutsplus می باشد.

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

  • اهمیت توسعه پذیری
  • نصب DI Container
  • راه اندازی کلاس ها برای پیکربندی
  • کار  با کلاس ها
  • ماژول ها چه هستند؟
  • نوشتن نوع رابط ماژول
  • طریقه استفاده از ماژول پیشرفته
  • اضافه کردن آرگومان برای ماژول ها
  • تنظیمات پارامترها 
  • اصلاح لیست پارامترها برای استفاده از ماژول ها
  • Pipeline چیست ؟
  • کار با ASP.NET
  • کار با WCF
  • شروع رویداد اعتبارسنجی مشتری
  • نوشتن ماژول اعتبارسنجی مشتری
  • راه اندازی تنظیمات Pipeline  و اضافه کردن ماژول
  • اضافه کردن و نصب ماژول های دیگر
  • نوشتن یک سازنده
  • استفاده از MEF
  • ساخت کاتالوگ MEF
  • و...

عنوان دوره: Pluralsight Developing Extensible Software سطح: متوسط مدت زمان: 3 ساعت و 46 دقیقه نویسنده: Miguel Castroتوضیحات:

In today's competitive world of software development, using methodologies such as Agile lets us get products to market quicker and in a controlled fashion, but that's not enough. Applications need to be able to grow without being totally rewritten. Sure, there eventually comes a time when every app needs a major overhaul, but if applications are written to be extensible in the first place, the overhaul can be performed in pieces; and in the meantime, new features can be added or existing features changed without bringing the app down. This "extensibility" in our design is becoming more and more important every day as software shops compete with each other for work and even with other countries. There have been many articles and design documents written on things like inversion of control in the UI tiers. Many books have dedicated chapters to injecting objects into MVC controllers or WPF ViewModels, but not many have focused on the meat of a system, the business tiers. These are the tiers that are accessible to the UI of a system, more than one in many cases. And these are the tiers that can be most volatile and subject to change and enhancement. In this course, I'll show you some of my favorite extensibility designs and techniques which will let you write software in building blocks that can be connected and interconnected in different ways. I'll keep most of my focus on the business tiers, which despite the lack of user-centric visual glamour, is where you get to exercise the most creativity. You'll be able to roll out applications and continuously add or change things without affecting the core infrastructure in place. To me, this not only makes the software better, but more fun to write!
The Course
	02:09	
Course Agenda
	01:42	
Importance of Extensibility		00:09:48	
Not Just For Plug-Ins
	01:38	
Danger: Beware Of Explosion
	01:45	
It's All About Decoupledness and Abstraction
	01:05	
Commerce Engine Case-Study
	01:32	
Commerce Engine Client Walkthrough
	00:49	
Commerce Engine Walkthrough
	02:14	
Why Was That Bad?
	00:43	
Abstraction and Dependency Injection		00:18:15	
DI: Extensibility's First Step
	01:39	
Installing the DI Container
	01:15	
Abstracting Out the Data Repository
	02:51	
Setting Up the Container Registration-and-Resolve
	06:35	
DI'ing Up the Other Classes
	04:42	
DI Is Only the Beginning
	01:10	
Implementing Providers		00:33:58	
What Are Providers?
	01:47	
Envisioning the Configuration
	03:11	
Modifying the Provider Classes
	01:57	
Refactoring Out to New Projects
	02:56	
Setting Up the Configuration Classes
	03:08	
Finishing and Installing Configuration Classes
	03:58	
Fix Up Dependencies in the CommerceManager Class
	01:54	
Plug Providers Into the CommerceManager Class
	05:03	
Fixing the Client and Running Test
	03:31	
How Am I Going to Reachieve Testability
	00:51	
Writing the Configuration Factory
	02:49	
Injecting the Configuration Factory
	01:23	
Summary
	01:23	
Implementing Modules		00:53:00	
What Are Modules?
	01:40	
Allowing Engine Users to Add Functionality
	01:52	
How the Module Pattern Works
	01:36	
Where I Want to Place an Extensibility Point in the Engine
	02:29	
Setting Up the Commerce Events and Associated Code
	03:46	
Writing the Module Interface Type
	00:59	
Adding Definition to the Configuration Factory
	01:39	
Adding More Config Classes
	03:42	
Read In Module Information and Initialize
	03:03	
Calling Module Event From CommerceManager
	04:38	
Writing and Installing the Item Promotion Module
	02:52	
Writing and Installing the Sku Miner Module
	01:24	
Modules More or Less Tied to the Hosting App
	02:05	
Giving a Module Access to Hosting App Resources
	01:52	
Modifying the Module to Use Its Own Standalone Resources
	05:07	
Writing a Unit Test for the Sku Miner Module
	05:22	
Writing a Second Unit Test for the More Coupled Sku Miner Module
	02:13	
Unit Testing the CommerceManager Class
	06:34	
Advanced Module Usage		00:23:26	
Adding Arguments for Modules
	02:30	
What I Want the Config to Look Like
	02:08	
Using the Provider Settings Collection Instead
	01:30	
Using the Provider Settings Parameters
	01:10	
Accepting the Parameter List into the Modules
	00:50	
Modifying the Module to use Paramters
	02:13	
Checking for Unknown Parameters
	01:34	
Variation of the Module Pattern
	01:57	
Removing All Config Stuff
	01:54	
Adding the Custom Attribute and App Setting
	02:25	
Modifying the Configuration Factory
	01:17	
Finishing Up the Configuration Factory and Running
	02:26	
Use Modules to Break Out Every Engine Step
	01:26	
Pipelines		00:43:00	
What is a Pipeline?
	00:52	
The ASP.NET Pipeline
	01:32	
The WCF Pipeline
	00:39	
The Commerce Engine Pipeline
	01:15	
Discuss How to Break out the Steps
	01:35	
Starting the Validate-Customer Event
	01:40	
Calling the Validate-Customer Event
	02:11	
Writing the Validate-Customer Module
	02:30	
Installing the Module and Running
	01:08	
The Rest of the Event-Args Classes
	02:28	
Updating the CommerceEvents Class
	00:59	
Include the Rest of the Modules
	02:04	
Adjusting the CommerceManager class
	01:48	
Installing the Rest of the Modules and Running
	01:05	
Setting the Scene for the Pipeline Framework
	01:58	
Creating the CommerceContext Class
	02:36	
Creating the CommercePipelineEvents Class
	03:11	
Writing the Validate Customer Pipeline Module
	02:32	
Setting Up the Pipeline Config and Add Module
	01:43	
Adding and Installing the Other Modules
	00:42	
Modifying the CommerceManager to Kick Off the Pipeline
	03:38	
Mashing the Two Patterns Together
	04:42	
Procedural Overriding		00:18:33	
What is Procedural Overriding?
	01:29	
Walk Through the Current Engine
	01:19	
Creating the Default Functionality Class
	02:07	
Setting Up the CommerceManager Properties
	01:11	
Using the Default Classes From CommerceManager
	01:14	
Fixing the Client and Running
	00:34	
Writing the Replacement Classes Into Client
	01:47	
Injecting the Replacement Classes Into Client
	01:23	
Describing a Real-World Problem Space For This Pattern
	02:12	
Writing the Contructor Resolver Class
	01:24	
Replacing the Hardcoded Behavior With the Resolver
	01:23	
Writing a New Constructor Resolver
	01:31	
Using the New Constructor Resolver
	00:53	
Using MEF		00:20:56	
Why and When to Use MEF
	01:35	
Adding MEF and Removing Unity
	01:53	
Removing Instantiation From ConfigurationFactory Class
	01:34	
Building the MEF Catalogs
	03:43	
Creating the MEF Container
	00:50	
Registering the Store Repository
	01:40	
Marking All Other Exports
	01:19	
Resolving the CommerceManager
	02:06	
Resolving Into the ConfigurationFactory Class
	01:35	
Testing Without Modules
	01:13	
Initializing Modules and Running
	03:21	
Conclusion		00:01:34	
In Conclusion
	01:34

حجم فایل: 800MB

آیا این نوشته را دوست داشتید؟
Pluralsight Developing Extensible Software

پیشنهاد فرادرس