Microsoft patterns & practices
.gif)
patterns & practices Developer Center
Microsoft patterns & practices are Microsoft's recommendations for how to design, develop, deploy, and operate architecturally sound applications for the Microsoft application platform.
Microsoft patterns & practices contain deep technical guidance and tested source code based on real-world experience. The technical guidance is created, reviewed, and approved by Microsoft architects, product teams, consultants, product support engineers, and by Microsoft partners and customers. The result is a thoroughly engineered and tested set of recommendations that you can follow with confidence when building your applications.
Refer to the Microsoft patterns & practices Developer Center for additional Getting Started with patterns & practices information, including videos. You may also want to explore the different views of the catalog available from the Explore the patterns & practices Catalog page.
Guidance Types
There are four types of patterns & practices:
Guides
Guides consist of written guidance, either online or printed, which you can
read to get a detailed understanding of technical problem domains and
engineering practices. Microsoft patterns & practices Guides cover topics
such as patterns, application architecture, integration, performance, and
security.
Reference Implementations
Reference Implementations are executable sample applications that
demonstrate patterns & practices guidance in action. You can use Reference
Implementations to learn how other guidance deliverables are applied, or to
copy code or concepts into your applications. Microsoft patterns & practices
Reference Implementations cover topics such as application integration and
interoperability using Web services.
Software Factories
Software Factories help 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 occasionally connected smart client applications, transactional Web service applications, and Web applications.
A software factory contains a variety of software assets and software tools. Software assets include reusable code components, documentation, and reference implementations.
Software tools include wizards, code generators, and visual designers. Typically, a software factory provides templates to help a development team
quickly start development of new applications. It also continues to assist the developers by providing guidance and automation of the prescribed development activities
throughout the application development life cycle.
Application Blocks
Application Blocks are reusable source-code components that provide proven
solutions to common development challenges. They can be integrated as is
into applications, or they can be extended or customized. Microsoft patterns
& practices Application Blocks address specific recurring problem domains
such as data access, logging, user interface process, and composite user
interfaces. In most cases, you will want to read the guide that provides the
architectural or patterns overview, and then explore the source code in the
reference implementations and application blocks.
Using patterns & practices you can:
Understand proven architecture, design, and implementation patterns Re-use tested, performance-tuned source code and application blocks Implement security, performance, and scalability engineering practices Build enterprise .NET applications faster with confidence
The typical patterns & practices deliverable is focused on addressing a particular development
scenario and consists of a combination of narrative guidance, that explains the architecture,
design, and implementation, and thoroughly tested source code that instantiates the solution.
The idea is that patterns & practices provides you with a proven starting point, from which to
build your application that will reduce your project's risk and shorten your schedule.
You can use patterns & practices in different ways, from simply reading the guidance, cutting and pasting code
examples and then modifying the code, to mining the guidance for patterns that are applicable
to your scenarios without reusing any of the code. If you are an architect, you can explore
patterns & practices to see what architectural approaches are in agreement with Microsoft's
future technical direction. If you are a developer on a team that has already adopted a
particular piece of guidance, you can study the content and the code in order to understand
the context and design decisions that went into the guidance so you can take full advantage of it.
Microsoft patterns & practices are not Microsoft products, but rather
scenario specific applied engineering guidance that describes how to use
Microsoft products in the context of developing and deploying applications,
including source code. Often, patterns & practices detail how to incorporate
multiple Microsoft products and technologies into the overall solution
architecture.
Microsoft patterns & practices are approved by every Microsoft product group
whose technology or product is involved in the scenario under consideration. The
architectures, designs, and implementations described in patterns & practices
are coordinated with current and future Microsoft technical strategy. The
patterns & practices team makes every effort to ensure, but can not guarantee,
future compatibility.
Microsoft Product Support is trained on patterns & practices and provides the
same level of support for using patterns & practices as they do for customer
source code. In addition, the patterns & practices team works with product
support and will assist them with escalations when necessary. If your
organization has a Microsoft Premier Support Services contract, then you can
obtain patterns & practices support under your existing services agreement.
Communities
Informal support is also provided in the online communities, both by
patterns & practices team members, and also by other participating community
members.
You can join a patterns & practices community to ask questions, provide
feedback, and connect with other users to share ideas. Every patterns &
practices release is available for review, in community, long before it is
finalized and released. This community provides a feedback mechanism early in
the engineering cycle and helps the patterns & practices team ensure that each
deliverable meets the needs of its intended audience.
Communities
After patterns & practices titles are released, the communities continue to
provide forums for discussion, support and the sharing of extensions.
.gif)