Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Cloud/Virtualization forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Alternative to GoF patterns?

 
Svend Rost
Ranch Hand
Posts: 904
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Ranchers,

is there any such thing as an alternative to the GoF patterns? most pattern books (on general design patterns) describe the GoF patterns.

Are there an alternative way to describe design ideas than the GoF patterns? im not thinking about principles such as the Open Closed
Principle, as it's more "low level".

Thanks in advance,

Svend Rost
 
Peer Reynders
Bartender
Posts: 2968
6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Are you looking for an alternative to patterns or simply patterns beyond the original 23 GoF patterns?
  • Abstract Factory
  • Adapter
  • Bridge
  • Builder
  • Chain of Responsibility
  • Command
  • Composite
  • Decorator
  • Fa�ade
  • Factory Method
  • Flyweight
  • Interpreter
  • Iterator
  • Mediator
  • Memento
  • Observer
  • Prototype
  • Proxy
  • Singleton
  • State
  • Strategy
  • Template Method
  • Visitor



  • The GoF patterns are simply considered the core design patterns that were established at the beginning of the pattern movement. Many books focus on these core patterns because the GoF treatment is in C++ (for the examples) and uses a pre-UML graphical notation - these books try to make the GoF patterns more accessible. Introductory books actually tend to cover fewer than the GoF patterns

    Additional patterns were quickly collected during various conferences and documented in
    Pattern Languages of Program Design (amazon US)
    Pattern Languages of Program Design 2 (amazon US)
    Pattern Languages of Program Design 3 (amazon US)
    Pattern Languages of Program Design 4 (amazon US)
    Pattern Languages of Program Design 5 (amazon US)

    Architectural and System Patterns are documented in
    Pattern-Oriented Software Architecture Volume 1: A System of Patterns (amazon US)
    Pattern-Oriented Software Architecture Volume 2: Patterns for Concurrent and Networked Objects (amazon US)
    Pattern-Oriented Software Architecture Volume 3: Patterns for Resource Management (amazon US)
    Pattern-Oriented Software Architecture Volume 4: A Pattern Language for Distributed Computing (amazon US)
    Pattern Oriented Software Architecture Volume 5: On Patterns and Pattern Languages (amazon US)

    Martin Fowler wrote books on Analysis Patterns: Reusable Object Models (amazon US) and Patterns of Enterprise Application Architecture (amazon US).

    Patterns that solve J2EE specific problems are documented in Core J2EE Patterns: Best Practices and Design Strategies 2e (amazon US) which should be supplemented by J2EE AntiPatterns (amazon US).

    In fact AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis (amazon US) is a whole separate book.

    Then there is Data Access Patterns: Database Interactions in Object-Oriented Applications (amazon US).

    Domain Driven Design � Tackling Complexity in the Heart of Software isn't a patterns book but it discusses the Specification Pattern (PDF) (among others) at length.

    etc.

    So all-in-all there is plenty of material beyond the initial GoF Patterns. People are more likely going to complain that there are too many patterns...
    [ October 09, 2007: Message edited by: Peer Reynders ]
     
    Ilja Preuss
    author
    Sheriff
    Posts: 14112
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Note, though, that those are not exactly *alternatives*, but more like *additions*.
     
    Stan James
    (instanceof Sidekick)
    Ranch Hand
    Posts: 8791
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Grady Booch has cataloged a zillion patterns with a very short description and a reference to the source. Requires free registration.

    Gregor Hohpe has a nice set around messaging. His names and graphics are catching on a bit and may be found in other papers and products.
     
    Garrett Smith
    Ranch Hand
    Posts: 401
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Originally posted by Peer Reynders:

    Domain Driven Design � Tackling Complexity in the Heart of Software isn't a patterns book but it discusses the Specification Pattern (PDF) (among others) at length.

    DDD is an thoughtful, well-written book.
     
    Ilja Preuss
    author
    Sheriff
    Posts: 14112
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    And Hillside is the authoritative pattern source: http://hillside.net/patterns/
     
    Svend Rost
    Ranch Hand
    Posts: 904
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Thanks for your replies.

    Although this post is quite old, I'll just bring it back to live since I never replied in the first place.

    @Peter Reynders et al.
    Thanks for the long list of litterature. As Peter mentions himself: there is plenty of material... People are more likely going to complain that there are too many patterns .

    Im especialy looking forward to read the DDD book which I've heard alot of good things about.

    A problem with the GoF patterns is that 1) there are alot of them and 2) alot of them "look" alike (encapsulate change and delegate; for instance: Strategy vs. State). I asked this question becuase I was wondering if there were a smaller list.
     
    Peer Reynders
    Bartender
    Posts: 2968
    6
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Originally posted by Svend Rost:
    A problem with the GoF patterns is that 1) there are alot of them and 2) alot of them "look" alike (encapsulate change and delegate; for instance: Strategy vs. State). I asked this question becuase I was wondering if there were a smaller list.


    As it is now stated in the FAQ, it is actually more important to understand the object-oriented design principles than to memorize a whole laundry list of patterns.
  • There are fewer principles than patterns.
  • The patterns are based on the principles.

  • Working from these principles you may be better equipped to appreciate the nuances between some of the related, yet different patterns.

    That being said, patterns are an invaluable communication tool - as long as they are being used correctly and consistently.
     
    • Post Reply
    • Bookmark Topic Watch Topic
    • New Topic