pattern
Home > Software Quality Definitions - Pattern
SearchSoftwareQuality.com Definitions (Powered by WhatIs.com)
EMAIL THIS
LOOK UP TECH TERMS Powered by: WhatIs.com
Search listings for thousands of IT terms:
Browse tech terms alphabetically:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z #

pattern


Show me everything on Software development fundamentals

DEFINITION - In software development, a pattern (or design pattern) is a written document that describes a general solution to a design problem that recurs repeatedly in many projects. Software designers adapt the pattern solution to their specific project. Patterns use a formal approach to describing a design problem, its proposed solution, and any other factors that might affect the problem or the solution. A successful pattern should have established itself as leading to a good solution in three previous projects or situations.

In object-oriented programming, a pattern can contain the description of certain objects and object classes to be used, along with their attributes and dependencies, and the general approach to how to solve the problem. Often, programmers can use more than one pattern to address a specific problem. A collection of patterns is called a pattern framework.

The design patterns methodology has become increasingly popular among software developers since the early 1990s, due largely to some ground-breaking presentations and books on the subject released to the object-oriented world at trade shows and conventions, notably OOPSLA '94 (the Object-Oriented Programming Systems, Languages, and Applications conference). A book, Design Patterns: Elements of Reusable Object-Oriented Software, by E. Gamma, R. Helm, R. Johnson, and J. Vlissides (known in the industry as the Gang of Four, or GOF) is generally credited with sparking the growing interest in design patterns for use in object-oriented programming. The book contains twenty-three patterns, each with a solution for a recurring problem faced in object-oriented design.

Design patterns include the following types of information:

  • Name that describes the pattern
  • Problem to be solved by the pattern
  • Context, or settings, in which the problem occurs
  • Forces that could influence the problem or its solution
  • Solution proposed to the problem
  • Context for the solution
  • Rationale behind the solution (examples and stories of past successes or failures often go here)
  • Known uses and related patterns
  • Author and date information
  • References and keywords used or searching
  • Sample code related to the solution, if it helps

The concept of using common patterns to solve other, similar problems is said to have originated in the field of building design and architecture and the published work of architect Christopher Alexander. One of his books is largely credited with this concept, A Pattern Language: Towns, Buildings, Construction, Oxford University Press, 1977.

Learn more about Software development fundamentals
Quiz: Open source software development: Test your knowledge of open source development with this quick quiz covering open source models, languages and tools.
Addressing software quality issues with development models, methods: Each development model has its own practices for building quality software. The challenge is determining which one fits your needs. The resources here can help you decide.
How to manage your development portfolio through Agile Focus Stories: Learn how using Focus Stories can steer development projects away from negative consequences, perverse effects and software deviations, while adding value to your product.
Scaling Agile development: Get your Focus Story together: Learn how to adapt to changing initiatives in an agile software project. Willingness to alter test driven and acceptance test driven development practices are key to success.
Aligning business goals with Focus Stories: The Focus Story serves to align the product backlog by providing guidelines for common goals and objectives, a tangible statement of DONE, and a timebox.

LAST UPDATED: 15 Feb 2007

Do you have something to add to this definition? Let us know.
Send your comments to techterms@whatis.com





FILE EXTENSION AND FILE FORMAT LIST
File Extension and File Format List:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z #


RELATED CONTENT
Advances in software development methodology may be a silver bullet
Software tester, Matt Heusser challenges the idea that there are no silver bullets in software development, suggesting that new approaches to software...
How to manage your development portfolio through Agile Focus Stories
Learn how using Focus Stories can steer development projects away from negative consequences, perverse effects and software deviations, while adding...
Aligning business goals with Focus Stories
The Focus Story serves to align the product backlog by providing guidelines for common goals and objectives, a tangible statement of DONE, and a...

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
build tool  (SearchSoftwareQuality.com)
A build tool is a programming utility that automates a software build task, such as ensuring that the proper source code files are compiled and that...
development environment  (SearchSoftwareQuality.com)
In computer program and software product development, the development environment is the set of processes and programming tools used to create the...




Software Quality - pattern Articles
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 2006 - 2010, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts