Pattern-Oriented Software Architecture: Difference between revisions

Content deleted Content added
weed out the long lists
 
(29 intermediate revisions by 20 users not shown)
Line 1:
{{Short description|Series of computer programming books}}
{{Prose|date=March 2020}}
'''Pattern-Oriented Software Architecture''' is a series of [[software engineering]] bookbooks describing [[software design patterns]].
patterns languages.
 
{{col-float}}
== POSA1 ==
 
{{Infobox book
| name = Pattern-Oriented Software Architecture Volume 1: A System of Patterns
| image = Pattern-Oriented Software Architecture.jpg
| author = Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad and Michael Stal
| author = Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad and Michael Stal
| language = English
| language = English
| subject = [[Computer programming]]
| subject = [[Computer programming]]
| published = {{plainlist|
| published = 1996
* 1996 }}
| isbn = 978-0471958697
}}
 
{{col-float-break}}
[[Architectural patterns]]
* [[Layer (object-oriented design)|Layers]]
* [[Pipeline (software)|Pipes and filters]]
* [[Blackboard (design pattern)|Blackboard]]
* [[Broker pattern|Broker]]
* [[Model-View-Controller]]
* [[Presentation-Abstraction-Control]]
 
{{Infobox book
[[Design patterns]]
| name = Pattern-Oriented Software Architecture Volume 2: Patterns for Concurrent and Networked Objects
* [[Whole-Part]]
| image = Pattern-Oriented Software Architecture.jpg
* [[Master-Slave]]
| author = [[Douglas C. Schmidt]], Michael Stal, Hans Rohnert, Frank Buschmann
* [[Proxy pattern|Proxy]]
| language = English
* [[Command Processor]]
| subject = [[Computer programming]]
* [[View Handler]]
| published = 2000
* [[Forwarder-Receiver]]
| isbn = 978-0471606956
* [[Client-Dispatcher-Server]]
}}
* [[Publish–subscribe pattern|Publisher-subscriber]]
 
{{col-float-break}}
 
== POSA2 ==
 
{{Infobox book
| name = Pattern-Oriented Software Architecture Volume 23: Patterns for Concurrent and NetworkedResource ObjectsManagement
| image = Pattern-Oriented Software Architecture.jpg
| author = [[Douglas C. Schmidt]], Michael Stal, Hans Rohnert, Frank Buschmann
| languageauthor = Michael Kircher, =Prashant EnglishJain
| language = English
| subject = [[Computer programming]]
| subject = [[Computer programming]]
| published = {{plainlist|
| published = 2004
* 2000 }}
| isbn = 978-04716069560470845257
}}
 
{{col-float-break}}
Service access and configuration patterns
* [[Wrapper Facade]]
* [[Component Configurator]]
* [[Interceptor pattern|Interceptor]]
* [[Extension interface]]
Event handling patterns
* [[Reactor pattern|Reactor]]
* [[Proactor pattern|Proactor]]
* [[Asynchronous Completion Token]]
* [[Acceptor-Connector]]
Synchronization Patterns
* [[Scoped Locking]]
* [[Strategized Locking]]
* [[Thread safety|Thread-Safe Interface]]
* [[Double-checked locking]]
Concurrency Patterns
* [[Active object]]
* [[Monitor (synchronization)|Monitor Object]]
* [[Half-Sync/Half-Async]]
* [[Leader/Followers]]
* [[Thread-Specific Storage]]
 
== POSA3 ==
 
{{Infobox book
| name = Pattern-Oriented Software Architecture Volume 34: PatternsA Pattern Language for ResourceDistributed ManagementComputing
| image = Pattern-Oriented Software Architecture.jpg
| author = Michael Kircher, Prashant Jain
| author = Frank Buschmann, [[Kevlin Henney]], [[Douglas C. Schmidt]]
| language = English
| language = English
| subject = [[Computer programming]]
| subject = [[Computer programming]]
| published = {{plainlist|
| published = 2007
* 2004 }}
| isbn = 978-04708452570470059029
}}
 
{{col-float-break}}
Resource acquisition
* [[Service locator pattern|Lookup]]
* [[Lazy loading|Lazy acquisition]]
* [[Eager acquisition]]
 
Resource lifecycle
* [[Cache (computing)|Caching]]
* [[Connection pool|Pooling]]
* [[Coordinator]]{{dn|date=March 2020}}
* [[Resource Lifecycle Manager]]
 
Resource release
* [[Leasing]]
* [[Evictor]]
 
== POSA4 ==
 
{{Infobox book
| name = Pattern-Oriented Software Architecture Volume 45: AOn PatternPatterns Languageand for DistributedPattern ComputingLanguages
| image = Pattern-Oriented Software Architecture.jpg
| author = Frank Buschmann, [[Kevlin Henney]], [[Douglas C. Schmidt]]
| author = Frank Buschmann, [[Kevlin Henney]], [[Douglas C. Schmidt]]
| language = English
| language = English
| subject = [[Computer programming]]
| subject = [[Computer programming]]
| published = {{plainlist|
| published = 2007
* 2007 }}
| isbn = 978-04700590290471486480
}}
 
{{col-float-end}}
Software architecture
* [[Domain model]]
* [[Layer (object-oriented design)|Layers]]
* [[Model-View-Controller]]
* [[Presentation-Abstraction-Control]]
* [[Mcrokernel]]
* [[Reflection (computer programming)|Reflection]]
* [[Pipeline (software)|Pipes and filters]]
* [[Shared repository]]
* [[Blackboard (design pattern)|Blackboard]]
* [[Domain object]]
 
== Reception ==
Distribution Infrastructure
David E. DeLano of ''[[C++ Report]]'' praised the first volume, writing, "Overall this text is good and I recommend it as an addition to any collection of books on patterns." He said "some of the language and grammar usage feels awkward to the reader" and some of the book has "stiffness and flow problems".<ref name="DeLano1996">{{cite book |last=DeLano |first=David E. |editor-last=Rising |editor-first=Linda |date=December 1996 |chapter=C++ Report book review of Pattern-Oriented Software Architecture: A System of Patterns |chapter-url=https://archive.org/details/patternshandbook0000unse/page/518/ |title=The Patterns Handbook: Techniques, Strategies, and Applications |url=https://archive.org/details/patternshandbook0000unse/ |___location=Cambridge |publisher=[[Cambridge University Press]] |via=[[Internet Archive]] |pages=518–521 |isbn=0-521-64818-1 |accessdate=2024-12-22 }}</ref> Ian Graham reviewed the first volume in the ''Journal of Object-Oriented Programming''.<ref name="Graham1997">{{cite journal |last=Graham |first=Ian |date=October 1997 |title=Pattern-oriented software architecture (Book Review) |journal=Journal of Object-Oriented Programming |issn=0896-8438 |volume=10 |issue=6 |pages=75–76 |id={{EBSCOhost|500514125}} }}</ref> DBMS columnist David S. Linthicum found the first volume to be "the best book on patterns for application architects", while Bin Yang of ''[[JavaWorld]]'' thought it had "many interesting architecture and design patterns".<ref name="Linthicum1997-10-01">{{cite news |last=Linthicum |first=David S. |date=1997-10-01 |title=Patterns demystified. (integrating patterns into software development cycles) (Application Architect) (Technology Tutorial)(Column) |newspaper=DMBS |publisher=M&T Publishing |issn=1041-5173 |volume=10 |number=11 |id={{Factiva|dbms000020011006dta10005t}} }}</ref><ref name="Yang2001-05-01">{{cite magazine |last=Yang |first=Bin |date=2001-05-01 |title=E++: A pattern language for Java Internet applications, Part 1; Weaving the design patterns together |magazine=[[JavaWorld]] |id={{Factiva|javw000020010711dx510001c}} }}</ref>
* [[Message Channel]]
* [[Message endpoint]]
* [[Message translator]]
* [[Message route]]
* [[Publish–subscribe pattern|Publisher-subscriber]]
* [[Broker pattern|Broker]]
* [[Client proxy]]
* [[Requestor]]
* [[Invoker]]
* [[Client request handler]]
* [[server request handler]]
 
[[ACCU (organisation)|ACCU]] writer Ian Glassborow reviewed the second volume, writing, "This book is one of the more important contributions to the literature on 'patterns' and deserves to become a standard text on its specified area of interest."<ref name="Glassborow2000">{{cite news |last=Glassborow |first=Francis |date=October 2000 |title=Review: Pattern-Oriented Software Architecture |url=https://accu.org/bookreviews/2000/glassborow_1219/ |publisher=[[ACCU (organisation)|ACCU]] |accessdate=2024-12-22 |archiveurl=https://web.archive.org/web/20241222100745/https://accu.org/bookreviews/2000/glassborow_1219/ |archivedate=2024-12-22 }}</ref> The [[Software Engineering Institute]] author Paul Clemente found the first two volumes to be "the best-known catalog of architectural patterns".<ref name="Clemente2005">{{cite news |last=Clemente |first=Paul |date=July 2005 |title=Comparing the SEI's Views and Beyond Approach for Documenting Software Architecture with ANSI-IEEE 1471-2000 |url=https://archive.org/details/DTIC_ADA441291/page/4/ |publisher=[[Software Engineering Institute]] |via=[[Internet Archive]] |accessdate=2024-12-22 }}</ref> Regarding the third volume, D. Murali recommended that software engineers should follow the "eager acquisition" pattern.<ref name="Murali2005-06-06">{{cite news |last=Murali |first=D. |date=2005-06-06 |title=Control is the key to the Net |url=https://infoweb.newsbank.com/apps/news/document-view?p=WORLDNEWS&docref=news/10A9109FCA24CBB9&f=basic |newspaper=[[Business Line]] |id={{Factiva|BSNLNE0020050605e16600021}} |accessdate=2024-12-22 |archiveurl=https://archive.today/20241222094647/https://infoweb.newsbank.com/apps/news/document-view?p=WORLDNEWS&docref=news/10A9109FCA24CBB9&f=basic |archivedate=2024-12-22 }}</ref>
Adaptation and execution
* [[Bridge]]
* [[Adapter pattern|Object Adapter]]
* [[Chain of responsitiblity]]
* [[Interpreter]]
* [[Interceptor pattern|Interceptor]]
* [[Visitor]]
* [[Decorator pattern|Decorator]]
* [[Execute-Around Object]]
* [[Template method]]
* [[Strategy]]
* [[Null object pattern|Null Object]]
* [[Wrapper Facade]]
* [[Declarative component configuration]]
 
== References ==
Resource management
{{reflist}}
* [[Container]]
* [[Component Configurator]]
* [[Object manager]]
* [[Lookup]]
* [[Virtual Proxy]]
* [[Lifecycle callback]]
* [[Task coordinator]]
* [[Connection pool|Resource pool]]
* [[Cache (computing)|Resource cache]]
* [[Lazy loading|Lazy Acquisition]]
* [[Eager Acquisition]]
* [[Partial Acquisition]]
* [[Activator]]{{dn|date=March 2020}}
* [[Evictor]]
* [[Leasing]]
* [[Automated Garbage Collection]]
* [[Counting Handle]]
* [[Abstract Factory]]
* [[Builder pattern|Builder]]
* [[Factory method]]
* [[Disposal Method]]
 
Database access
* [[Database Access Layer]]
* [[Data mapper pattern|Data mapper]]
* [[Row Data Gateway]]
* [[Table Data Gateway]]
* [[Active Record]]
 
== POSA5 ==
 
{{Infobox book
| name = Pattern Oriented Software Architecture Volume 5: On Patterns and Pattern Languages
| author = Frank Buschmann, [[Kevlin Henney]], [[Douglas C. Schmidt]]
| language = English
| subject = [[Computer programming]]
| published = {{plainlist|
* 2007 }}
| isbn = 978-0471486480
}}
 
{{Design Patterns patterns}}
Line 196 ⟶ 80:
[[Category:2007 non-fiction books]]
[[Category:Software development books]]
[[Category:Software design patterns]]
 
 
{{software-book-stub}}