MyPage is a personalized page based on your interests.The page is customized to help you to find content that matters you the most.

I'm not curious

Developing Extensible Software

Course Summary

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,

  • +

    Course Syllabus

    ● Welcome and Course Description
        ◦ The Course
        ◦ Course Agenda
        ◦ Not Just For Plug-Ins
        ◦ It's All About Decoupledness and Abstraction
        ◦ Commerce Engine Case-Study
        ◦ Commerce Engine Client Walkthrough
        ◦ Commerce Engine Walkthrough
        ◦ Why Was That Bad?
    ● Abstraction and Dependency Injection
        ◦ Installing the DI Container
        ◦ Abstracting Out the Data Repository
        ◦ Setting Up the Container Registration-and-Resolve
        ◦ DI'ing Up the Other Classes
        ◦ 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
        ◦ Fix Up Dependencies in the CommerceManager Class
        ◦ 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
        ◦ Calling Module Event From CommerceManager
        ◦ Writing and Installing the Item Promotion Module
        ◦ 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
        ◦ Writing a Unit Test for the Sku Miner Module
        ◦ Writing a Second Unit Test for the More Coupled Sku Miner Module
        ◦ 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?
        ◦ The ASP.NET Pipeline
        ◦ 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
        ◦ The Rest of the Event-Args Classes
        ◦ Updating the CommerceEvents Class
        ◦ Include the Rest of the Modules
        ◦ Adjusting the CommerceManager class
        ◦ Installing the Rest of the Modules and Running
        ◦ Setting the Scene for the Pipeline Framework
        ◦ Creating the CommerceContext Class
        ◦ Creating the CommercePipelineEvents Class

Course Fee:
USD 29

Course Type:


Course Status:



1 - 4 hours / week

Attended this course?

Back to Top

Awards & Accolades for MyTechLogy
Winner of
Top 100 Asia
Finalist at SiTF Awards 2014 under the category Best Social & Community Product
Finalist at HR Vendor of the Year 2015 Awards under the category Best Learning Management System
Finalist at HR Vendor of the Year 2015 Awards under the category Best Talent Management Software
Hidden Image Url

Back to Top