Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Software design pattern
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==History== Patterns originated as an [[Pattern (architecture)|architectural concept]] by [[Christopher Alexander]] as early as 1977 in [[A Pattern Language]] (cf. his article, "The Pattern of Streets," JOURNAL OF THE AIP, September, 1966, Vol. 32, No. 5, pp. 273–278). In 1987, [[Kent Beck]] and [[Ward Cunningham]] began experimenting with the idea of applying patterns to programming – specifically [[pattern language]]s – and presented their results at the [[OOPSLA]] conference that year.<ref name = "Smith1987">{{cite conference | last = Smith | first = Reid | title = Panel on design methodology | conference = [[OOPSLA]] '87 Addendum to the Proceedings | doi = 10.1145/62138.62151 |date=October 1987 | quote=Ward cautioned against requiring too much programming at, what he termed, 'the high level of wizards.' He pointed out that a written 'pattern language' can significantly improve the selection and application of abstractions. He proposed a 'radical shift in the burden of design and implementation' basing the new methodology on an adaptation of Christopher Alexander's work in pattern languages and that programming-oriented pattern languages developed at [[Tektronix]] has significantly aided their software development efforts.}}</ref><ref name = "Beck1987">{{cite conference | last1 = Beck | first1 = Kent | author-link = Kent Beck | author-link2 = Ward Cunningham | first2 = Ward | last2 = Cunningham | title = Using Pattern Languages for Object-Oriented Program | conference = [[OOPSLA]] '87 workshop on ''Specification and Design for Object-Oriented Programming'' | url = http://c2.com/doc/oopsla87.html |date=September 1987 | access-date = 2006-05-26}}</ref> In the following years, Beck, Cunningham and others followed up on this work. Design patterns gained popularity in [[computer science]] after the book [[Design Patterns|''Design Patterns: Elements of Reusable Object-Oriented Software'']] was published in 1994 <!-- 1994, not 1995. See talk page. --> by the so-called "Gang of Four" (Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides), which is frequently abbreviated as "GoF". That same year, the first [[Pattern Languages of Programming]] Conference was held, and the following year the [[Portland Pattern Repository]] was set up for documentation of design patterns. The scope of the term remains a matter of dispute. Notable books in the design pattern genre include: * {{cite book | first1 = Erich | last1 = Gamma | author-link = Erich Gamma | author-link2 = Richard Helm | first2 = Richard | last2 = Helm | author-link3 = Ralph Johnson (computer scientist) | first3 = Ralph | last3 = Johnson | author-link4 = John Vlissides | first4 = John | last4 = Vlissides | year = 1994 | title = Design Patterns: Elements of Reusable Object-Oriented Software | publisher = [[Addison-Wesley]] | isbn = 978-0-201-63361-0 | title-link = Design Patterns (book) }} * {{cite book | first = Per | last = Brinch Hansen | author-link = Per Brinch Hansen | date = 1995 | title = Studies in Computational Science: Parallel Programming Paradigms | publisher = Prentice Hall | isbn = 978-0-13-439324-7 }} * {{cite book | first1 = Frank | last1 = Buschmann | author-link = Frank Buschmann | first2 = Regine | last2 = Meunier | first3 = Hans | last3 = Rohnert | first4 = Peter | last4 = Sommerlad | date = 1996 | title = Pattern-Oriented Software Architecture, Volume 1: A System of Patterns | publisher = John Wiley & Sons | isbn = 978-0-471-95869-7 }} * {{cite book | first = Kent | last = Beck | author-link = Kent Beck | year = 1997 | title = Smalltalk Best Practice Patterns | publisher = Prentice Hall | isbn = 978-0134769042 }} * {{cite book | first1 = Douglas C. | last1 = Schmidt | author-link = Douglas C. Schmidt | first2=Michael | last2 = Stal | first3 = Hans | last3 = Rohnert | first4 = Frank | last4 = Buschmann | date = 2000 | title = Pattern-Oriented Software Architecture, Volume 2: Patterns for Concurrent and Networked Objects | publisher = John Wiley & Sons | isbn = 978-0-471-60695-6 }} * {{cite book | title = Patterns of Enterprise Application Architecture | first = Martin | last = Fowler | author-link = Martin Fowler (software engineer) | year = 2002 | isbn = 978-0-321-12742-6 | publisher = [[Addison-Wesley]] }} * {{cite book | first1 = Gregor | last1 = Hohpe | first2 = Bobby | last2 = Woolf | date = 2003 | title = Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions | publisher = [[Addison-Wesley]] | isbn = 978-0-321-20068-6 | title-link = Enterprise Integration Patterns }} * {{cite book | first1 = Eric T. | last1 = Freeman | first2 = Elisabeth | last2 = Robson | first3 = Bert | last3 = Bates | first4 = Kathy | last4 = Sierra | author-link4 = Kathy Sierra | date = 2004 | title = Head First Design Patterns | publisher = [[O'Reilly Media]] | isbn = 978-0-596-00712-6 }} * {{cite book | first = Craig | last = Larman | author-link = Craig Larman | year = 2004 | title = Applying UML and Patterns (3rd Ed, 1st Ed 1995) | publisher = Pearson | isbn = 978-0131489066 }} Although design patterns have been applied practically for a long time, formalization of the concept of design patterns languished for several years.<ref name = "Baroni2003">{{cite report | s2cid = 624834 | citeseerx = 10.1.1.62.6466 | title = Design Patterns Formalization | first1 = Aline Lúcia | last1 = Baroni | first2 = Yann-Gaël | last2 = Guéhéneuc | first3 = Hervé | last3 = Albin-Amiot | date=June 2003 | publisher = École Nationale Supérieure des Techniques Industrielles et des Mines de Nantes | location = [[Nantes]] | series = EMN Technical Report |url=https://www.researchgate.net/publication/277282980 | via = ResearchGate }}</ref>
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
Software design pattern
(section)
Add topic