Development Activities
Retired Content |
---|
This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist. |
Figure 1 illustrates the mapping of composite application concepts to How-to topics included with the Composite Application Guidance.
Figure 1
Mapping of composite application concepts to How-to topics
The next sections describe activities that developers usually perform when creating applications based on the Composite Application Library. Each How-to topic listed in the following sections provides the main steps for performing a particular task. As you review the How-to topics, consider how they can be applied to your application.
Note
This guidance includes a HelloWorld solution you can use to try the procedures in the How-to topics. To open the HelloWorld solution, run the file Open Hello World Solution.bat.
Creating Your Solution
A solution based on the Composite Application Library is a solution that you can use as a starting point for your composite Windows Presentation Foundation (WPF) application. The solution includes recommended practices and techniques and is the basis for the procedures in the Composite Application Guidance for WPF. For procedures related to creating a solution that uses the Composite Application Library, see How to: Create a Solution Using the Composite Application Library.
Bootstrapper
The bootstrapper is responsible for the initialization of an application built using the Composite Application Library. Having a bootstrapper gives you more control of how the Composite Application Library components are wired up to your application. The following topics contain procedures that customize the bootstrapper class:
- How to: Dynamically Load Modules. This topic describes how to configure the bootstrapper to dynamically load modules.
- How to: Statically Load Modules. This topic describes how to configure the bootstrapper to statically load modules.
- How to: Provide a Custom Logger. This topic describes how to use a different logger in your application that uses the Composite Application Library.
- How to: Create a Custom Region Adapter. This topic describes how to configure the bootstrapper to register additional region adapter mappings.
- How to: Register and Use Services. This topic describes how to configure the bootstrapper to register services in the application container.
For more information about the bootstrapper, see the Bootstrapper technical concept.
Modules
A module encapsulates a set of related concerns. Modules are independently developed and deployed, and they interact with each other to create an application. For procedures related to creating modules, see the following topics:
- How to: Create a Module. This topic describes how to create a module.
- How to: Dynamically Load Modules. This topic describes how to dynamically load modules.
- How to: Statically Load Modules. This topic describes how to statically load modules.
- How to: Load Modules On Demand. This topic describes how to load modules on demand.
For more information about modules, see the Module technical concept.
Regions
Conceptually, a region is a mechanism that developers can use to expose to the application's Windows Presentation Foundation container controls—those that permit child elements—as components that encapsulate a particular visual way of displaying views (typically, views are user controls). Regions can be accessed in a decoupled way by their name and support adding or removing views dynamically at run time. For procedures related to regions, see the following topics:
- How to: Add a Region. This topic describes how to add a region to a view or the Shell window through XAML.
- How to: Create a Custom Region Adapter. This topic describes how to create custom region adapters.
- How to: Show a View in a Shell Region. This topic describes how to place a view in a Shell-defined region.
- How to: Show a View in a Scoped Region. This topic describes how to create scoped regions and show views in scoped regions.
For more information about the regions, see the Region technical concept.
Views
Views are objects that contain visual content. For more information about views, see the following topics:
- How to: Create a View with a Presenter. This topic describes how to create a view following the Model-View-Presenter pattern.
- How to: Show a View in a Shell Region. This topic describes how to place a view in a Shell-defined region.
- How to: Show a View in a Scoped Region. This topic describes how to create scoped regions and show views in scoped regions.
For more information about the shell and views, see the Shell and View technical concept.
Services
A service is an object that provides functionality in a loosely coupled way to other components. These components can be in the same module or in other modules. The Composite Application Library includes a set of basic services that you can use in your applications. You can also develop your own services to provide infrastructure capabilities that are specific to your applications. For procedures related to services, see the following topic:
- How to: Register and Use Services. This topic describes how to register and obtain references to services in an application that uses the Composite Application Library and the Unity container.
For more information about the services, see the Container and Services technical concept. For more information about when to use shared services, see the Communication technical concept.
Commands
Commands are a way to handle user interface (UI) actions. They are a loosely coupled way to bind the UI to the logic that performs the action. For procedures related to commands, see the following topics:
- How to: Create Locally Available Commands. This topic describes how to create locally available commands.
- How to: Create Globally Available Commands. This topic describes how to create globally available commands.
For more information about the commands, see the Commands technical concept. For more information about when to use commands, see the Communication technical concept.
Events
The Composite Application Library provides an event mechanism that enables communications between loosely coupled components in the application. By using this mechanism, based on the event aggregator service, publishers and subscribers can communicate through events that do not have a direct reference to each other. For more information about events, see the following topics:
- How to: Create and Publish Events. This topic describes how to create and publish an event that can be consumed in a loosely coupled way.
- How to: Subscribe and Unsubscribe to Events. This topic describes how to subscribe and unsubscribe to an event that can be consumed in a loosely coupled way.
For more information about events, see the Event Aggregator technical concept. For more information about when to use events, see the Communication technical concept.
Deploy
By using ClickOnce deployment, you can publish Windows-based applications to a Web server or network file share for simplified installation. The Composite Application Guidance for WPF includes guidance that helps you use ClickOnce to deploy an application built using the Composite Application Library. For more information, see the following topics:
- How to: Publish an Initial Version of an Application. This topic describes how to publish an initial version of a composite WPF application.
- How to: Deploy an Initial Version of an Application. This topic describes how to deploy an application to a client computer.
- How to: Publish an Updated Version. This topic describes how to publish an updated version of your application.
- How to: Deploy an Updated Version. This topic describes how to deploy an updated version of an application to a client computer.
For more information about ClickOnce Deployment, see Deploying WPF Applications with ClickOnce.
Retired Content |
---|
This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist. |