Patterns and architecture defined for .NET

.NET Developer Tip
(Receive this column in your inbox,
click Edit your Profile to subscribe.)

Patterns and architecture defined for .NET
Dan Fox

To come

    Requires Free Membership to View

up with a great design of an application or Web service using the .NET framework, it's a good idea to make sure you're familiar with the terms that are used. This tip, which is excerpted from InformIT, defines two terms that are in common usage, patterns and architecture.

I'll begin by defining what I mean by "patterns" and "architecture." As used in this article, patterns are typically what developers think of as design patterns. Simply put, design patterns are "simple and elegant solutions in object-oriented software design" (as defined by the book Design Patterns: Elements of Reusable Object-Oriented Software, by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, collectively referred to as the Gang of Four, or GoF [Addison Wesley Professional, 1994]). As a result, patterns address lower-level issues that often arise when designing classes for use in applications. And because framework applications are composed of classes that utilize the object-oriented infrastructure provided by the Common Language Runtime, they are well suited for use by VS .NET developers.

I refer to these patterns as micro patterns, patterns used individually or in combination by developers to design flexible, reusable, and elegant solutions in their software. Design patterns are also evident in the design and implementation of the framework itself.

Patterns, then, are contrasted with architecture. Architecture can be thought of as a collection of decisions that define how various parts of a solution interact. For this reason, architecture consists of macro patterns, or architectural patterns that might include both framework and custom software built using lower-level design patterns. For example, many modern applications are based on the central architectural pattern referred to variously as multitier, three-tier, or layered. In this construct, the application is roughly split into three layers: presentation, business (or domain), and data. Each layer presents a well-defined boundary within which various micro patterns can be employed. I've chosen to use the terms layered and layers rather than tiered and tier because tier often connotes physical separation, which need not be (and often is not) the case.

For another general introduction to patterns and architecture, I recommend the Webcast "Using Patterns to Build Business Applications," by Microsoft Architect David Trowbridge.

To read the entire article from which this tip comes, click over to InformIT. You have to register there, but the registration is free.

For More Information:

  • Looking for free research? Browse our comprehensive White Papers section by topic, author or keyword.
  • Are you tired of technospeak? The Web Services Advisor column uses plain talk and avoids the hype.
  • For insightful opinion and commentary from today's industry leaders, read our Guest Commentary columns.
  • Hey Codeheads! Start benefiting from these time-saving XML Developer Tips and .NET Developer Tips.

  • Visit our huge Best Web Links for Web Services collection for the freshest editor-selected resources.
  • Visit Ask the Experts for answers to your Web services, SOAP, WSDL, XML, .NET, Java and EAI questions.
  • Choking on the alphabet soup of industry acronyms? Visit our helpful Glossary for the latest industry lingo.
  • Couldn't attend one of our Webcasts? Don't miss out. Visit our archive to watch at your own convenience.
  • Discuss this article, voice your opinion or talk with your peers in the SearchWebServices Discussion Forums.

This was first published in May 2003

There are Comments. Add yours.

TIP: Want to include a code block in your comment? Use <pre> or <code> tags around the desired text. Ex: <code>insert code</code>

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
Sort by: OldestNewest

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to:

Disclaimer: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.