Skip to content

Commit

Permalink
Add reference to "Algebra-Driven Design" to "combinator pattern"
Browse files Browse the repository at this point in the history
Fixes #428.
  • Loading branch information
mikesperber committed May 5, 2024
1 parent ed26c55 commit 1ad4d4d
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 2 deletions.
4 changes: 2 additions & 2 deletions docs/03-design/LZ-03-08.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ Softwarearchitekt:innen können einige der folgendene Muster erklären, ihre Rel

* Blackboard: Behandlung von Problemen, die nicht durch deterministische Algorithmen lösbar sind, sondern vielfältiges Wissen erfordern.
* Broker: verantwortlich für die Koordination der Kommunikation zwischen Anbieter(n) und Verbraucher(n), angewandt in verteilten Systemen. Verantwortlich für die Weiterleitung von Anfragen und/oder die Übermittlung von Ergebnissen, Fehlern und Ausnahmen.
* Kombinator (Synonym: Closure of Operations), für Domänenobjekte vom Typ T, suchen Sie nach Operationen sowohl mit Input- als auch Output-Typ T. Siehe <<yorgey>>
* Kombinator (Synonym: Closure of Operations), für Domänenobjekte vom Typ T, suchen Sie nach Operationen sowohl mit Input- als auch Output-Typ T. Siehe <<yorgey>> <<maguire>>
* CQRS (Command-Query-Responsibility-Segregation): Trennung von Lese- und Schreibvorgängen in Informationssystemen. Erfordert Einblicke in konkrete Datenbank-/Persistenztechnologie, um die unterschiedlichen Eigenschaften und Anforderungen von "Lese-" und "Schreib"-Operationen zu verstehen.
* Event-Sourcing: Behandlung von Datenoperationen durch eine Abfolge von Ereignissen (Events), von denen jedes in einem Append-only Speicher aufgezeichnet wird.
* Interpreter: repräsentieren Domänenobjekt oder DSL als Syntax, bieten eine Funktion, die eine semantische Interpretation des Domänenobjekts getrennt vom Domänenobjekt selbst implementiert.
Expand Down Expand Up @@ -82,7 +82,7 @@ Software architects can explain several of the following patterns, explain their

* _blackboard_: handle problems that cannot be solved by deterministic algorithms but require diverse knowledge
* _broker_: responsible for coordinating communication between provider(s) and consumer(s), applied in distributed systems. Responsible for forwarding requests and/or transmitting results and exceptions
* _combinator_ (synonym: closure of operations), for domain object of type T, look for operations with both input and output type T. See <<yorgey>>
* _combinator_ (synonym: closure of operations), for domain object of type T, look for operations with both input and output type T. See <<yorgey>> <<maguire>>
* _CQRS_ (Command-Query-Responsibility-Segregation): separates read from write concerns in information systems. Requires some context on database-/persistence technology to understand the different properties and requirements of "read" versus "write" operations
* _event sourcing_: handle operations on data by a sequence of events, each of which is recorded in an append-only store
* _interpreter_: represent domain object or DSL as syntax, provide function implementing a semantic interpretation of domain object separately from domain object itself
Expand Down
2 changes: 2 additions & 0 deletions docs/09-references/00-references.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ Elements of Reusable Object-Oriented Software. Addison-Wesley. 1994.
- [[[lilienthal-en,Lilienthal 2019]]] Carola Lilienthal: Sustainable Software Architecture: Analyze and Reduce Technical Debt. dpunkt Verlag 2019.
- [[[lorzstarke, Lorz+2021]]] Alexander Lorz, Gernot Starke: Software Architecture Foundation, CPSA Foundation® Exam Preparation. Van Haaren Publishing, 2021.
Alexander Lorz, Gernot Starke
- [[[maguire, Maguire 2019]]] Sandy Maguire: Algebra-Driven Design:
Elegant Solutions from Simple Building Blocks. Leanpub, 2019.
- [[[martin03,Martin 2003]]] Robert Martin: Agile Software Development. Principles, Patterns, and Practices. Prentice Hall, 2003.
- [[[martin17,Martin 2017]]] Robert Martin. Clean Architecture: A craftsman’s guide to software structure and design. Pearson, 2017.
- [[[miller-distributed,Miller et. al]]] Heather Miller, Nat Dempkowski, James Larisch, Christopher Meiklejohn: Distributed Programming (to appear, but content-complete) <https://github.com/heathermiller/dist-prog-book>.
Expand Down

0 comments on commit 1ad4d4d

Please sign in to comment.