Softpanorama
(slightly skeptical) Open Source Software Educational Society

May the source be with you, but remember the KISS principle ;-)

Softpanorama Search

Design patterns

It is unfortunate (but unavoidable) that the rise in the popularity of software patterns has led to massive hype. Many use the word "pattern" primarily for its appeal as a hot new buzzword. Such "patterns-hype" ultimately causes disappointment, resentment, and even disdain when the hype proves different than the reality. One might call this the hype-no-cratic oath: First, do no hype!.

In reality patterns are something in between algorithms and standard components.  Some theoreticians have suggested that the study of design patterns has been excessively ad hoc, and that the concept sorely needs to be put on a more formal footing. At OOPSLA 1999, the Gang of Four were (with their full cooperation) subjected to a show trial [5], in which they were "charged" with numerous crimes against computer science. (They were "convicted" by 2/3 of the "jurors" who attended the trial.) [6]

Recommended Links


In case of broken links please try to use Google search. If you find the page please notify us about new location
Google     

Design Patterns

Unfortunately, SE is positively overrun with design cults, most of them as damaging as any in the Modern period. Influential writers and theoreticians are commonly promoted to practical design gurus in a marketplace desperate for the Next Big Methodology. Design methods hypothesized by their creators in the small, with obscure graphical notations overnight explode into full-blown CASE (computer-aided software engineering) tools, which bring all of the mind-numbing, strait-jacketed, acontextual design theory to the developer. Suffice it to say there are many, many more parallels between architecture cults and software cults...

Design pattern (computer science) - Wikipedia, the free encyclopedia

Some feel that the need for patterns results from using computer languages or techniques with insufficient abstraction ability. Under ideal factoring, a concept should not be copied, but merely referenced. But if something is referenced instead of copied, then there is no "pattern" to label and catalog. Paul Graham writes in the essay Revenge of the Nerds.[1]

This practice is not only common, but institutionalized. For example, in the OO world you hear a good deal about "patterns". I wonder if these patterns are not sometimes evidence of case (c), the human compiler, at work. When I see patterns in my programs, I consider it a sign of trouble. The shape of a program should reflect only the problem it needs to solve. Any other regularity in the code is a sign, to me at least, that I'm using abstractions that aren't powerful enough— often that I'm generating by hand the expansions of some macro that I need to write.

Peter Norvig makes a similar argument, wherein he claims that 16 out of the 23 patterns in the Design Patterns book (which is primarily focused on C++) are simplified or eliminated (via direct language support) in Lisp.[2]

Further arguments along this line are discussed on WikiWikiWeb.[3][4]

Anti-pattern - Wikipedia, the free encyclopedia

Anti-patterns, also referred to as pitfalls, are classes of commonly-reinvented bad solutions to problems. They are studied, as a category, in order that they may be avoided in the future, and that instances of them may be recognized when investigating non-working systems.

Patterns and Software Essential Concepts and Terminology - by Brad Appleton <bradapp@enteract.com>
http://www.enteract.com/~bradapp/
last modified 02/14/2000

Patterns and Software Essential Concepts and Terminology

FBenchmarks -- Fact, Fiction, or Fantasy?

Non-Software Examples of Software Design Patterns

Addison Wesley Longman - Design Patterns for Object-Oriented Software Development

What are design pattern

Standard method/class combinations
Use mandatory type signatures
+ naming conventions
Good documentation for humans
And can be recognized by tools

Implementing Design Patterns in Java

Doug Lea's Workstation -- very good list of references. Tell much about the author

Books On-line Call Numbers Starting With QA -- just great

Please Read This Page Carefully.... -- que electronic books online


Copyright © 1996-2009 by Dr. Nikolai Bezroukov. www.softpanorama.org was created as a service to the UN Sustainable Development Networking Programme (SDNP) in the author free time. Submit comments This document is an industrial compilation designed and created exclusively for educational use and is placed under the copyright of the Open Content License(OPL). Site uses AdSense so you need to be aware of Google privacy policy. Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.

Disclaimer:

Last modified: June 05, 2008