was invented by ChristopherAlexander
, who is an architect (the kind who designs buildings, bridges, and the like; as opposed to a SoftwareArchitect
) and professor emeritus of architecture at CalBerkeley
. The term ArchitecturalDesignPatterns
is used to differentiate between Alexander's DesignPatterns
, and the DesignPatterns
in software, which are distinguished as SoftwareDesignPatterns
This WikiBadge would be more useful if people here were actually documenting ArchitecturalDesignPatterns. Mostly, though, Wiki seems to be about software, which makes the badge seem a bit like PrematureGeneralization, or maybe PrematureCategorization??
It wasn't intended as a WikiBadge
. It's purely to justify the distinction between DesignPatterns
. For example, on the timeline presented on InformalHistoryOfProgrammingIdeas
, if someone wanted to cite Alexander's contribution to DesignPatterns
, they would put an entry for ArchitecturalDesignPatterns
, to separate it from the existing entry for SoftwareDesignPatterns
Is this something that is genuinely causing confusion among us here on Wiki? Are there cases where the extra verbiage is worth making the distinction so specifically?
Note that ChristopherAlexander
just calls them "patterns", not "design patterns". So, calling them ArchitecturalDesignPatterns
is a bit of a misnomer. Perhaps they should be ArchitecturalPattern
s, but software people have their own definition for that word. Software people think patterns are like objects containing algorithms and data structures.