Pattern-Oriented Software Architecture Volume 1: A System of Patterns

Category: Programming
Author: Frank Buschmann
4.0
All Stack Overflow 8

Comments

by anonymous   2017-08-20

You will hear discording opinions about design patterns, in the programming community at large.

In my opinion, it is sure that there are abstractions that patterns encapsulate that are really useful (factory, singleton, delegate, etc.). I use patterns a lot, but I myself am sometime puzzled by the apparent lack of depth or level of insight that you get by reading a pattern description. This is also in tune with the proliferation of design patterns that specialize for any kind of things.

When the design hey are useful, they are a very good means of communication and certainly they guide you through the process of designing or defining the architecture of your app. They are useful both for small project and for large ones, and they can be applied at different granularity levels.

Patters are a generic concept and all programming languages support them. Anyway, if you work in C++, a book focusing on it is best, because you will get the pattern adapted to the characteristics of the language.

In my opinion, the really fundamental book about design patterns are:

GoF, Design Patterns: Elements of Reusable Object-Oriented Software

VV.AA., Pattern-Oriented Software Architecture Volume 1: A System of Patterns

VV.AA., Pattern-Oriented Software Architecture Volume 2: Patterns for Concurrent and Networked Objects

by anonymous   2017-08-20

For architectural patterns, read Pattern-Oriented Software Architecture Volume 1: A System of Patterns. patterns discussed are:

  • Layers
  • Pipes & Filters
  • Blackboard
  • Broker
  • Model-View-Controller (MVC)
  • Presentation-Abstraction-Control (Hierarchical MVC)
  • Microkernel
  • Reflection
by anonymous   2017-08-20

Some articles and books about architecture:

And of course the regular design pattern books.