Skip to main content

patterns & practices: Software Factories


A software factory is a structured collection of related software assets. When a software factory is installed in a development environment, it helps architects and developers predictably and efficiently create high-quality instances of specific types of applications. Each software factory is designed to help build applications that share an architecture and a feature set. Examples of such application types include mobile client applications, occasionally connected smart client applications, and transactional Web service applications.

A software factory contains a variety of software assets, including content and tools. Content includes reusable code components, documentation, and reference implementations. Tools include wizards, code generators, and visual designers. Typically, a software factory provides templates and other assets to help a development team quickly start development of new applications. It also continues to assist the developers by providing guidance and automating the prescribed development activities throughout the application development life cycle.

A key characteristic of a software factory is that architects and developers can customize, extend, and adjust it to address the unique needs of a project team or an organization. Typically, an architect performs this customization, and then the architect repackages and distributes the software factory to the project teams.


Mobile Client Software Factory
The Mobile Client Software Factory provides an integrated set of guidance assets to help architects and developers create line-of-business Windows Mobile applications that interact with back-end systems over a variety of networks.
Smart Client Software Factory
This new Microsoft patterns & practices software factory extends Visual Studio 2005 with additional guidance that helps to demystify and automate designing and developing occasionally-connected smart client applications. The resulting application architecture is both extensible and fully customizable.
Web Client Software Factory
The patterns & practices Web Client Software Factory is a comprehensive set of guidelines, assets, and automation that developers use to create architecturally sound, modular, Web applications, with the latest technologies from Microsoft, such as ASP.NET 2.0 and Windows Workflow Foundation.
Web Service Software Factory
The Web Service Software Factory (also known as the Service Factory) is an integrated collection of tools, patterns, source code and prescriptive guidance. It is designed to help you quickly and consistently construct Web services that adhere to well known architecture and design patterns.
Application Block Software Factory

The Application Block Software Factory is included in the Enterprise Library and guides developers through the process of creating new application blocks and extending existing Enterprise Library application blocks.

Guidance Automation Toolkit
The Guidance Automation Toolkit is an extension to Visual Studio 2005 that allows architects to author rich, integrated user experiences for reusable assets including frameworks, components and patterns. The resulting Guidance Packages are composed of templates, wizards and recipes, which help developers build solutions in a way consistent with the architecture guidance.

 

Top of pageTop of page