https://de.wikipedia.org/w/index.php?action=history&feed=atom&title=Command-Query-Separation Command-Query-Separation - Versionsgeschichte 2025-05-22T10:38:41Z Versionsgeschichte dieser Seite in Wikipedia MediaWiki 1.45.0-wmf.2 https://de.wikipedia.org/w/index.php?title=Command-Query-Separation&diff=251973555&oldid=prev 131.152.231.235: Nebeneffekt → Seiteneffekt (in Übereinstimmung mit der Wortwahl des restlichen Artikels) 2025-01-06T14:09:33Z <p>Nebeneffekt → Seiteneffekt (in Übereinstimmung mit der Wortwahl des restlichen Artikels)</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 6. Januar 2025, 16:09 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 1:</td> <td colspan="2" class="diff-lineno">Zeile 1:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''{{lang|en|Command-Query-Separation}}''' ('''CQS''',&lt;ref&gt;{{Internetquelle |autor=Martin Fowler |url=https://martinfowler.com/bliki/CommandQuerySeparation.html |titel=CommandQuerySeparation |datum=2005-12-05 |sprache=en |abruf=2014-05-18}}&lt;/ref&gt; {{enS}} für etwa ''Kommando-Abfrage-Trennung'') ist ein Prinzip des [[Softwareentwurf]]s. Das CQS-Prinzip wurde von [[Bertrand Meyer]] im Zuge seiner Arbeit an der [[Programmiersprache]] [[Eiffel (Programmiersprache)|Eiffel]] erdacht.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''{{lang|en|Command-Query-Separation}}''' ('''CQS''',&lt;ref&gt;{{Internetquelle |autor=Martin Fowler |url=https://martinfowler.com/bliki/CommandQuerySeparation.html |titel=CommandQuerySeparation |datum=2005-12-05 |sprache=en |abruf=2014-05-18}}&lt;/ref&gt; {{enS}} für etwa ''Kommando-Abfrage-Trennung'') ist ein Prinzip des [[Softwareentwurf]]s. Das CQS-Prinzip wurde von [[Bertrand Meyer]] im Zuge seiner Arbeit an der [[Programmiersprache]] [[Eiffel (Programmiersprache)|Eiffel]] erdacht.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Das CQS-Prinzip besagt, dass eine Methode entweder als ''Abfrage'' (''{{lang|en|query}}'') oder als ''Kommando'' (''{{lang|en|command}}'', ''{{lang|en|modifier}}'' oder ''{{lang|en|mutator}}'') implementiert werden soll. Eine Abfrage muss hierbei [[Daten]] zurückliefern und darf keine [[Wirkung (Informatik)|Seiteneffekte]] auf dem beobachtbaren Zustand des Systems aufweisen, während ein Kommando beobachtbare <del style="font-weight: bold; text-decoration: none;">Nebeneffekte</del> aufweist und keine Daten zurückliefert.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Das CQS-Prinzip besagt, dass eine Methode entweder als ''Abfrage'' (''{{lang|en|query}}'') oder als ''Kommando'' (''{{lang|en|command}}'', ''{{lang|en|modifier}}'' oder ''{{lang|en|mutator}}'') implementiert werden soll. Eine Abfrage muss hierbei [[Daten]] zurückliefern und darf keine [[Wirkung (Informatik)|Seiteneffekte]] auf dem beobachtbaren Zustand des Systems aufweisen, während ein Kommando beobachtbare <ins style="font-weight: bold; text-decoration: none;">Seiteneffekte</ins> aufweist und keine Daten zurückliefert.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Zitat</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Zitat</div></td> </tr> </table> 131.152.231.235 https://de.wikipedia.org/w/index.php?title=Command-Query-Separation&diff=249242580&oldid=prev 93.240.105.176: Anfragen sollen keine Seiteneffekte haben, so dass sich Ausnahmen von der Regel nur auf Anfragen beziehen können. Also "Kommando" durch "Anfrage" ersetzt. (Außerdem bin ich mir der Formulierung "abstrakte Seiteneffekte" nicht sicher, kenne die Quelle aber nicht genau genug um hier zuverlässig korrigieren zu können.) 2024-10-08T11:20:45Z <p>Anfragen sollen keine Seiteneffekte haben, so dass sich Ausnahmen von der Regel nur auf Anfragen beziehen können. Also &quot;Kommando&quot; durch &quot;Anfrage&quot; ersetzt. (Außerdem bin ich mir der Formulierung &quot;abstrakte Seiteneffekte&quot; nicht sicher, kenne die Quelle aber nicht genau genug um hier zuverlässig korrigieren zu können.)</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 8. Oktober 2024, 13:20 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 11:</td> <td colspan="2" class="diff-lineno">Zeile 11:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> |ref=&lt;ref&gt;{{Literatur |Autor=Bertrand Meyer |Titel=Object Oriented Software Construction |Verlag=Prentice Hall |Datum=1988 |ISBN=978-0-13-629155-8 |Seiten=751}}&lt;/ref&gt;}}</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> |ref=&lt;ref&gt;{{Literatur |Autor=Bertrand Meyer |Titel=Object Oriented Software Construction |Verlag=Prentice Hall |Datum=1988 |ISBN=978-0-13-629155-8 |Seiten=751}}&lt;/ref&gt;}}</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Das Prinzip verbietet nur ''abstrakte'' Seiteneffekte für <del style="font-weight: bold; text-decoration: none;">Kommandos</del>. Bertrand Meyer unterscheidet davon zwei Arten harmloser Seiteneffekte, die oft sogar für <del style="font-weight: bold; text-decoration: none;">Kommandos</del> notwendig sind:</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Das Prinzip verbietet nur ''abstrakte'' Seiteneffekte für <ins style="font-weight: bold; text-decoration: none;">Abfragen</ins>. Bertrand Meyer unterscheidet davon zwei Arten harmloser Seiteneffekte, die oft sogar für <ins style="font-weight: bold; text-decoration: none;">Abfragen</ins> notwendig sind:</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* Seiteneffekte, die am Ende <del style="font-weight: bold; text-decoration: none;">des</del> <del style="font-weight: bold; text-decoration: none;">Kommandos</del> wieder zurückgenommen werden.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* Seiteneffekte, die am Ende <ins style="font-weight: bold; text-decoration: none;">der</ins> <ins style="font-weight: bold; text-decoration: none;">Abfrage</ins> wieder zurückgenommen werden.</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* Seiteneffekte, die nur den privaten <del style="font-weight: bold; text-decoration: none;">State</del> des Objektes betreffen, also von außen nicht wahrnehmbar sind.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* Seiteneffekte, die nur den privaten <ins style="font-weight: bold; text-decoration: none;">Zustand</ins> des Objektes betreffen, also von außen nicht wahrnehmbar sind.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Siehe auch ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Siehe auch ==</div></td> </tr> </table> 93.240.105.176 https://de.wikipedia.org/w/index.php?title=Command-Query-Separation&diff=217209704&oldid=prev PerfektesChaos: tk k 2021-11-12T14:08:49Z <p>tk k</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 12. November 2021, 16:08 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 1:</td> <td colspan="2" class="diff-lineno">Zeile 1:</td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''{{lang|en|Command-Query-Separation}}''' ('''CQS''',&lt;ref&gt;{{Internetquelle|url=https://martinfowler.com/bliki/CommandQuerySeparation.html|titel=CommandQuerySeparation<del style="font-weight: bold; text-decoration: none;">|autor=Martin</del> <del style="font-weight: bold; text-decoration: none;">Fowler</del>|datum=2005-12-<del style="font-weight: bold; text-decoration: none;">5</del>|sprache=en|<del style="font-weight: bold; text-decoration: none;">zugriff</del>=2014-05-18}}&lt;/ref&gt; {{enS}} für etwa ''Kommando-Abfrage-Trennung'') ist ein Prinzip des [[Softwareentwurf]]s. Das CQS-Prinzip wurde von [[Bertrand Meyer]] im Zuge seiner Arbeit an der [[Programmiersprache]] [[Eiffel (Programmiersprache)|Eiffel]] erdacht.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''{{lang|en|Command-Query-Separation}}''' ('''CQS''',&lt;ref&gt;{{Internetquelle<ins style="font-weight: bold; text-decoration: none;"> |autor=Martin Fowler </ins>|url=https://martinfowler.com/bliki/CommandQuerySeparation.html<ins style="font-weight: bold; text-decoration: none;"> </ins>|titel=CommandQuerySeparation |datum=2005-12-<ins style="font-weight: bold; text-decoration: none;">05 </ins>|sprache=en<ins style="font-weight: bold; text-decoration: none;"> </ins>|<ins style="font-weight: bold; text-decoration: none;">abruf</ins>=2014-05-18}}&lt;/ref&gt; {{enS}} für etwa ''Kommando-Abfrage-Trennung'') ist ein Prinzip des [[Softwareentwurf]]s. Das CQS-Prinzip wurde von [[Bertrand Meyer]] im Zuge seiner Arbeit an der [[Programmiersprache]] [[Eiffel (Programmiersprache)|Eiffel]] erdacht.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Das CQS-Prinzip besagt, dass eine Methode entweder als ''Abfrage'' (''{{lang|en|query}}'') oder als ''Kommando'' (''{{lang|en|command}}'', ''{{lang|en|modifier}}'' oder ''{{lang|en|mutator}}'') implementiert werden soll. Eine Abfrage muss hierbei [[Daten]] zurückliefern und darf keine [[Wirkung (Informatik)|<del style="font-weight: bold; text-decoration: none;">Seiteneffekt</del>]]<del style="font-weight: bold; text-decoration: none;">e</del> auf dem beobachtbaren Zustand des Systems aufweisen, während ein Kommando beobachtbare Nebeneffekte aufweist und keine Daten zurückliefert.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Das CQS-Prinzip besagt, dass eine Methode entweder als ''Abfrage'' (''{{lang|en|query}}'') oder als ''Kommando'' (''{{lang|en|command}}'', ''{{lang|en|modifier}}'' oder ''{{lang|en|mutator}}'') implementiert werden soll. Eine Abfrage muss hierbei [[Daten]] zurückliefern und darf keine [[Wirkung (Informatik)|<ins style="font-weight: bold; text-decoration: none;">Seiteneffekte</ins>]] auf dem beobachtbaren Zustand des Systems aufweisen, während ein Kommando beobachtbare Nebeneffekte aufweist und keine Daten zurückliefert.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Zitat</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Zitat</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> |Text=Functions should not produce abstract side effects<del style="font-weight: bold; text-decoration: none;">...</del>only commands (procedures) will be permitted to produce side effects.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> |Text=Functions should not produce abstract side effects<ins style="font-weight: bold; text-decoration: none;"> … </ins>only commands (procedures) will be permitted to produce side effects.</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> |Sprache=<del style="font-weight: bold; text-decoration: none;">Englisch</del></div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> |Sprache=<ins style="font-weight: bold; text-decoration: none;">en</ins></div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> |Autor=Bertrand Meyer</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> |Autor=Bertrand Meyer</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> |Quelle=Object Oriented Software Construction</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> |Quelle=Object Oriented Software Construction</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> |Übersetzung=Funktionen sollten keine Seiteneffekte haben<del style="font-weight: bold; text-decoration: none;">...</del> nur Kommandos (Prozeduren) dürfen Seiteneffekte haben.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> |Übersetzung=Funktionen sollten keine Seiteneffekte haben<ins style="font-weight: bold; text-decoration: none;"> …</ins> nur Kommandos (Prozeduren) dürfen Seiteneffekte haben.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> |ref=&lt;ref&gt;{{Literatur |Autor=Bertrand Meyer |Titel=Object Oriented Software Construction |Verlag=Prentice Hall |Datum=1988 |ISBN=978-0-13-629155-8 |Seiten=751}}&lt;/ref&gt;}}</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> |ref=&lt;ref&gt;{{Literatur |Autor=Bertrand Meyer |Titel=Object Oriented Software Construction |Verlag=Prentice Hall |Datum=1988 |ISBN=978-0-13-629155-8 |Seiten=751}}&lt;/ref&gt;}}</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td colspan="2" class="diff-lineno">Zeile 18:</td> <td colspan="2" class="diff-lineno">Zeile 18:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[Command-Query-Responsibility-Segregation]] (CQRS)</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[Command-Query-Responsibility-Segregation]] (CQRS)</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>== <del style="font-weight: bold; text-decoration: none;">Quellen</del> ==</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>== <ins style="font-weight: bold; text-decoration: none;">Einzelnachweise</ins> ==</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>&lt;references /&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>&lt;references /&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> </table> PerfektesChaos https://de.wikipedia.org/w/index.php?title=Command-Query-Separation&diff=213643232&oldid=prev Aka: https 2021-07-07T12:05:59Z <p>https</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 7. Juli 2021, 14:05 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 1:</td> <td colspan="2" class="diff-lineno">Zeile 1:</td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''{{lang|en|Command-Query-Separation}}''' ('''CQS''',&lt;ref&gt;{{Internetquelle|url=<del style="font-weight: bold; text-decoration: none;">http</del>://martinfowler.com/bliki/CommandQuerySeparation.html|titel=CommandQuerySeparation|autor=Martin Fowler|datum=2005-12-5|sprache=en|zugriff=2014-05-18}}&lt;/ref&gt; {{enS}} für etwa ''Kommando-Abfrage-Trennung'') ist ein Prinzip des [[Softwareentwurf]]s. Das CQS-Prinzip wurde von [[Bertrand Meyer]] im Zuge seiner Arbeit an der [[Programmiersprache]] [[Eiffel (Programmiersprache)|Eiffel]] erdacht.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''{{lang|en|Command-Query-Separation}}''' ('''CQS''',&lt;ref&gt;{{Internetquelle|url=<ins style="font-weight: bold; text-decoration: none;">https</ins>://martinfowler.com/bliki/CommandQuerySeparation.html|titel=CommandQuerySeparation|autor=Martin Fowler|datum=2005-12-5|sprache=en|zugriff=2014-05-18}}&lt;/ref&gt; {{enS}} für etwa ''Kommando-Abfrage-Trennung'') ist ein Prinzip des [[Softwareentwurf]]s. Das CQS-Prinzip wurde von [[Bertrand Meyer]] im Zuge seiner Arbeit an der [[Programmiersprache]] [[Eiffel (Programmiersprache)|Eiffel]] erdacht.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Das CQS-Prinzip besagt, dass eine Methode entweder als ''Abfrage'' (''{{lang|en|query}}'') oder als ''Kommando'' (''{{lang|en|command}}'', ''{{lang|en|modifier}}'' oder ''{{lang|en|mutator}}'') implementiert werden soll. Eine Abfrage muss hierbei [[Daten]] zurückliefern und darf keine [[Wirkung (Informatik)|Seiteneffekt]]e auf dem beobachtbaren Zustand des Systems aufweisen, während ein Kommando beobachtbare Nebeneffekte aufweist und keine Daten zurückliefert.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Das CQS-Prinzip besagt, dass eine Methode entweder als ''Abfrage'' (''{{lang|en|query}}'') oder als ''Kommando'' (''{{lang|en|command}}'', ''{{lang|en|modifier}}'' oder ''{{lang|en|mutator}}'') implementiert werden soll. Eine Abfrage muss hierbei [[Daten]] zurückliefern und darf keine [[Wirkung (Informatik)|Seiteneffekt]]e auf dem beobachtbaren Zustand des Systems aufweisen, während ein Kommando beobachtbare Nebeneffekte aufweist und keine Daten zurückliefert.</div></td> </tr> </table> Aka https://de.wikipedia.org/w/index.php?title=Command-Query-Separation&diff=207674989&oldid=prev 2A01:C23:8464:3100:3979:56D2:2784:68B0 am 15. Januar 2021 um 16:03 Uhr 2021-01-15T16:03:32Z <p></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 15. Januar 2021, 18:03 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 1:</td> <td colspan="2" class="diff-lineno">Zeile 1:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''{{lang|en|Command-Query-Separation}}''' ('''CQS''',&lt;ref&gt;{{Internetquelle|url=http://martinfowler.com/bliki/CommandQuerySeparation.html|titel=CommandQuerySeparation|autor=Martin Fowler|datum=2005-12-5|sprache=en|zugriff=2014-05-18}}&lt;/ref&gt; {{enS}} für etwa ''Kommando-Abfrage-Trennung'') ist ein Prinzip des [[Softwareentwurf]]s. Das CQS-Prinzip wurde von [[Bertrand Meyer]] im Zuge seiner Arbeit an der [[Programmiersprache]] [[Eiffel (Programmiersprache)|Eiffel]] erdacht.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''{{lang|en|Command-Query-Separation}}''' ('''CQS''',&lt;ref&gt;{{Internetquelle|url=http://martinfowler.com/bliki/CommandQuerySeparation.html|titel=CommandQuerySeparation|autor=Martin Fowler|datum=2005-12-5|sprache=en|zugriff=2014-05-18}}&lt;/ref&gt; {{enS}} für etwa ''Kommando-Abfrage-Trennung'') ist ein Prinzip des [[Softwareentwurf]]s. Das CQS-Prinzip wurde von [[Bertrand Meyer]] im Zuge seiner Arbeit an der [[Programmiersprache]] [[Eiffel (Programmiersprache)|Eiffel]] erdacht.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Das CQS-Prinzip besagt, dass eine Methode entweder als ''Abfrage'' (''{{lang|en|query}}'') oder als ''Kommando'' (''{{lang|en|command}}'', ''{{lang|en|modifier}}'' oder ''{{lang|en|mutator}}'') implementiert werden soll. Eine Abfrage muss hierbei [[Daten]] zurückliefern und darf keine [[Wirkung (Informatik)|<del style="font-weight: bold; text-decoration: none;">Nebeneffekt</del>]]e auf dem beobachtbaren Zustand des Systems aufweisen, während ein Kommando beobachtbare Nebeneffekte aufweist und keine Daten zurückliefert.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Das CQS-Prinzip besagt, dass eine Methode entweder als ''Abfrage'' (''{{lang|en|query}}'') oder als ''Kommando'' (''{{lang|en|command}}'', ''{{lang|en|modifier}}'' oder ''{{lang|en|mutator}}'') implementiert werden soll. Eine Abfrage muss hierbei [[Daten]] zurückliefern und darf keine [[Wirkung (Informatik)|<ins style="font-weight: bold; text-decoration: none;">Seiteneffekt</ins>]]e auf dem beobachtbaren Zustand des Systems aufweisen, während ein Kommando beobachtbare Nebeneffekte aufweist und keine Daten zurückliefert.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Zitat</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Zitat</div></td> </tr> </table> 2A01:C23:8464:3100:3979:56D2:2784:68B0 https://de.wikipedia.org/w/index.php?title=Command-Query-Separation&diff=203856107&oldid=prev Sebastian.Dietrich: /* Einleitung */ Ergänzt aus Infos aus dem Buch 2020-09-21T15:08:04Z <p><span class="autocomment">Einleitung: </span> Ergänzt aus Infos aus dem Buch</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 21. September 2020, 17:08 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 2:</td> <td colspan="2" class="diff-lineno">Zeile 2:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Das CQS-Prinzip besagt, dass eine Methode entweder als ''Abfrage'' (''{{lang|en|query}}'') oder als ''Kommando'' (''{{lang|en|command}}'', ''{{lang|en|modifier}}'' oder ''{{lang|en|mutator}}'') implementiert werden soll. Eine Abfrage muss hierbei [[Daten]] zurückliefern und darf keine [[Wirkung (Informatik)|Nebeneffekt]]e auf dem beobachtbaren Zustand des Systems aufweisen, während ein Kommando beobachtbare Nebeneffekte aufweist und keine Daten zurückliefert.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Das CQS-Prinzip besagt, dass eine Methode entweder als ''Abfrage'' (''{{lang|en|query}}'') oder als ''Kommando'' (''{{lang|en|command}}'', ''{{lang|en|modifier}}'' oder ''{{lang|en|mutator}}'') implementiert werden soll. Eine Abfrage muss hierbei [[Daten]] zurückliefern und darf keine [[Wirkung (Informatik)|Nebeneffekt]]e auf dem beobachtbaren Zustand des Systems aufweisen, während ein Kommando beobachtbare Nebeneffekte aufweist und keine Daten zurückliefert.</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>{{Zitat</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> |Text=Functions should not produce abstract side effects...only commands (procedures) will be permitted to produce side effects.</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> |Sprache=Englisch</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> |Autor=Bertrand Meyer</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> |Quelle=Object Oriented Software Construction</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> |Übersetzung=Funktionen sollten keine Seiteneffekte haben... nur Kommandos (Prozeduren) dürfen Seiteneffekte haben.</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> |ref=&lt;ref&gt;{{Literatur |Autor=Bertrand Meyer |Titel=Object Oriented Software Construction |Verlag=Prentice Hall |Datum=1988 |ISBN=978-0-13-629155-8 |Seiten=751}}&lt;/ref&gt;}}</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Das Prinzip verbietet nur ''abstrakte'' Seiteneffekte für Kommandos. Bertrand Meyer unterscheidet davon zwei Arten harmloser Seiteneffekte, die oft sogar für Kommandos notwendig sind:</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* Seiteneffekte, die am Ende des Kommandos wieder zurückgenommen werden.</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* Seiteneffekte, die nur den privaten State des Objektes betreffen, also von außen nicht wahrnehmbar sind.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Siehe auch ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Siehe auch ==</div></td> </tr> </table> Sebastian.Dietrich https://de.wikipedia.org/w/index.php?title=Command-Query-Separation&diff=192122758&oldid=prev Wiki-observer: Wort erg. 2019-09-09T19:58:21Z <p>Wort erg.</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 9. September 2019, 21:58 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 1:</td> <td colspan="2" class="diff-lineno">Zeile 1:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''{{lang|en|Command-Query-Separation}}''' ('''CQS''',&lt;ref&gt;{{Internetquelle|url=http://martinfowler.com/bliki/CommandQuerySeparation.html|titel=CommandQuerySeparation|autor=Martin Fowler|datum=2005-12-5|sprache=en|zugriff=2014-05-18}}&lt;/ref&gt; {{enS}} für etwa ''Kommando-Abfrage-Trennung'') ist ein Prinzip des [[Softwareentwurf]]s. Das CQS-Prinzip wurde von [[Bertrand Meyer]] im Zuge seiner Arbeit an der [[Programmiersprache]] [[Eiffel (Programmiersprache)|Eiffel]] erdacht.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''{{lang|en|Command-Query-Separation}}''' ('''CQS''',&lt;ref&gt;{{Internetquelle|url=http://martinfowler.com/bliki/CommandQuerySeparation.html|titel=CommandQuerySeparation|autor=Martin Fowler|datum=2005-12-5|sprache=en|zugriff=2014-05-18}}&lt;/ref&gt; {{enS}} für etwa ''Kommando-Abfrage-Trennung'') ist ein Prinzip des [[Softwareentwurf]]s. Das CQS-Prinzip wurde von [[Bertrand Meyer]] im Zuge seiner Arbeit an der [[Programmiersprache]] [[Eiffel (Programmiersprache)|Eiffel]] erdacht.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Das CQS-Prinzip besagt, dass eine Methode entweder als ''Abfrage'' (''{{lang|en|query}}'') oder als ''Kommando'' (''{{lang|en|command}}'', ''{{lang|en|modifier}}'' oder ''{{lang|en|mutator}}'') implementiert werden soll. Eine Abfrage muss hierbei [[Daten]] zurückliefern und keine [[Wirkung (Informatik)|Nebeneffekt]]e auf dem beobachtbaren Zustand des Systems aufweisen, während ein Kommando beobachtbare Nebeneffekte aufweist und keine Daten zurückliefert.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Das CQS-Prinzip besagt, dass eine Methode entweder als ''Abfrage'' (''{{lang|en|query}}'') oder als ''Kommando'' (''{{lang|en|command}}'', ''{{lang|en|modifier}}'' oder ''{{lang|en|mutator}}'') implementiert werden soll. Eine Abfrage muss hierbei [[Daten]] zurückliefern und<ins style="font-weight: bold; text-decoration: none;"> darf</ins> keine [[Wirkung (Informatik)|Nebeneffekt]]e auf dem beobachtbaren Zustand des Systems aufweisen, während ein Kommando beobachtbare Nebeneffekte aufweist und keine Daten zurückliefert.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Siehe auch ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Siehe auch ==</div></td> </tr> </table> Wiki-observer https://de.wikipedia.org/w/index.php?title=Command-Query-Separation&diff=166942611&oldid=prev 84.226.133.74 am 3. Juli 2017 um 11:40 Uhr 2017-07-03T11:40:21Z <p></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 3. Juli 2017, 13:40 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 1:</td> <td colspan="2" class="diff-lineno">Zeile 1:</td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''{{lang|en|Command-Query-Separation}}''' ('''CQS''',&lt;ref&gt;{{Internetquelle|url=http://martinfowler.com/bliki/CommandQuerySeparation.html|titel=CommandQuerySeparation|autor=Martin Fowler|datum=2005-12-5|sprache=en|zugriff=2014-05-18}}&lt;/ref&gt; etwa <del style="font-weight: bold; text-decoration: none;">„Kommando</del>-Abfrage-<del style="font-weight: bold; text-decoration: none;">Trennung“</del>) ist ein Prinzip des [[Softwareentwurf]]s. Das CQS-Prinzip wurde von [[Bertrand Meyer]] im Zuge seiner Arbeit an der [[Programmiersprache]] [[Eiffel (Programmiersprache)|Eiffel]] erdacht.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''{{lang|en|Command-Query-Separation}}''' ('''CQS''',&lt;ref&gt;{{Internetquelle|url=http://martinfowler.com/bliki/CommandQuerySeparation.html|titel=CommandQuerySeparation|autor=Martin Fowler|datum=2005-12-5|sprache=en|zugriff=2014-05-18}}&lt;/ref&gt;<ins style="font-weight: bold; text-decoration: none;"> {{enS}} für</ins> etwa <ins style="font-weight: bold; text-decoration: none;">''Kommando</ins>-Abfrage-<ins style="font-weight: bold; text-decoration: none;">Trennung''</ins>) ist ein Prinzip des [[Softwareentwurf]]s. Das CQS-Prinzip wurde von [[Bertrand Meyer]] im Zuge seiner Arbeit an der [[Programmiersprache]] [[Eiffel (Programmiersprache)|Eiffel]] erdacht.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Das CQS-Prinzip besagt, dass eine Methode entweder als ''Abfrage'' (''{{lang|en|query}}'') oder als ''Kommando'' (''{{lang|en|command}}'', ''{{lang|en|modifier}}'' oder ''{{lang|en|mutator}}'') implementiert werden soll. Eine Abfrage muss hierbei [[Daten]] zurückliefern und keine [[Wirkung (Informatik)|Nebeneffekt]]e auf dem beobachtbaren Zustand des Systems aufweisen, während ein Kommando beobachtbare Nebeneffekte aufweist und keine Daten zurückliefert.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Das CQS-Prinzip besagt, dass eine Methode entweder als ''Abfrage'' (''{{lang|en|query}}'') oder als ''Kommando'' (''{{lang|en|command}}'', ''{{lang|en|modifier}}'' oder ''{{lang|en|mutator}}'') implementiert werden soll. Eine Abfrage muss hierbei [[Daten]] zurückliefern und keine [[Wirkung (Informatik)|Nebeneffekt]]e auf dem beobachtbaren Zustand des Systems aufweisen, während ein Kommando beobachtbare Nebeneffekte aufweist und keine Daten zurückliefert.</div></td> </tr> </table> 84.226.133.74 https://de.wikipedia.org/w/index.php?title=Command-Query-Separation&diff=144849436&oldid=prev Zahnradzacken: QCS -> CQS 2015-08-08T21:11:47Z <p>QCS -&gt; CQS</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 8. August 2015, 23:11 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 1:</td> <td colspan="2" class="diff-lineno">Zeile 1:</td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''{{lang|en|Command-Query-Separation}}''' ('''CQS''',&lt;ref&gt;{{Internetquelle|url=http://martinfowler.com/bliki/CommandQuerySeparation.html|titel=CommandQuerySeparation|autor=Martin Fowler|datum=2005-12-5|sprache=en|zugriff=2014-05-18}}&lt;/ref&gt; etwa „Kommando-Abfrage-Trennung“) ist ein Prinzip des [[Softwareentwurf]]s. Das <del style="font-weight: bold; text-decoration: none;">QCS</del>-Prinzip wurde von [[Bertrand Meyer]] im Zuge seiner Arbeit an der [[Programmiersprache]] [[Eiffel (Programmiersprache)|Eiffel]] erdacht.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''{{lang|en|Command-Query-Separation}}''' ('''CQS''',&lt;ref&gt;{{Internetquelle|url=http://martinfowler.com/bliki/CommandQuerySeparation.html|titel=CommandQuerySeparation|autor=Martin Fowler|datum=2005-12-5|sprache=en|zugriff=2014-05-18}}&lt;/ref&gt; etwa „Kommando-Abfrage-Trennung“) ist ein Prinzip des [[Softwareentwurf]]s. Das <ins style="font-weight: bold; text-decoration: none;">CQS</ins>-Prinzip wurde von [[Bertrand Meyer]] im Zuge seiner Arbeit an der [[Programmiersprache]] [[Eiffel (Programmiersprache)|Eiffel]] erdacht.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Das <del style="font-weight: bold; text-decoration: none;">QCS</del>-Prinzip besagt, dass eine Methode entweder als ''Abfrage'' (''{{lang|en|query}}'') oder als ''Kommando'' (''{{lang|en|command}}'', ''{{lang|en|modifier}}'' oder ''{{lang|en|mutator}}'') implementiert werden soll. Eine Abfrage muss hierbei [[Daten]] zurückliefern und keine [[Wirkung (Informatik)|Nebeneffekt]]e auf dem beobachtbaren Zustand des Systems aufweisen, während ein Kommando beobachtbare Nebeneffekte aufweist und keine Daten zurückliefert.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Das <ins style="font-weight: bold; text-decoration: none;">CQS</ins>-Prinzip besagt, dass eine Methode entweder als ''Abfrage'' (''{{lang|en|query}}'') oder als ''Kommando'' (''{{lang|en|command}}'', ''{{lang|en|modifier}}'' oder ''{{lang|en|mutator}}'') implementiert werden soll. Eine Abfrage muss hierbei [[Daten]] zurückliefern und keine [[Wirkung (Informatik)|Nebeneffekt]]e auf dem beobachtbaren Zustand des Systems aufweisen, während ein Kommando beobachtbare Nebeneffekte aufweist und keine Daten zurückliefert.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Siehe auch ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Siehe auch ==</div></td> </tr> </table> Zahnradzacken https://de.wikipedia.org/w/index.php?title=Command-Query-Separation&diff=140956525&oldid=prev 77.56.53.183 am 18. April 2015 um 01:48 Uhr 2015-04-18T01:48:56Z <p></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 18. April 2015, 03:48 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 1:</td> <td colspan="2" class="diff-lineno">Zeile 1:</td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''{{lang|en|Command-Query-Separation}}''' ('''CQS'''&lt;ref&gt;{{Internetquelle|url=http://martinfowler.com/bliki/CommandQuerySeparation.html|titel=CommandQuerySeparation|autor=Martin Fowler|datum=2005-12-5|sprache=en|zugriff=2014-05-18}}&lt;/ref&gt;<del style="font-weight: bold; text-decoration: none;">,</del> etwa „Kommando-Abfrage-Trennung“) ist ein Prinzip des [[Softwareentwurf]]s. Das QCS-Prinzip wurde von [[Bertrand Meyer]] im Zuge seiner Arbeit an der [[Programmiersprache]] [[Eiffel (Programmiersprache)|Eiffel]] erdacht.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''{{lang|en|Command-Query-Separation}}''' ('''CQS'''<ins style="font-weight: bold; text-decoration: none;">,</ins>&lt;ref&gt;{{Internetquelle|url=http://martinfowler.com/bliki/CommandQuerySeparation.html|titel=CommandQuerySeparation|autor=Martin Fowler|datum=2005-12-5|sprache=en|zugriff=2014-05-18}}&lt;/ref&gt; etwa „Kommando-Abfrage-Trennung“) ist ein Prinzip des [[Softwareentwurf]]s. Das QCS-Prinzip wurde von [[Bertrand Meyer]] im Zuge seiner Arbeit an der [[Programmiersprache]] [[Eiffel (Programmiersprache)|Eiffel]] erdacht.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Das QCS-Prinzip besagt, dass eine Methode entweder als ''Abfrage'' (''{{lang|en|query}}'') oder als ''Kommando'' (''{{lang|en|command}}'', ''{{lang|en|modifier}}'' oder ''{{lang|en|mutator}}'') implementiert werden soll. Eine Abfrage muss hierbei [[Daten]] zurückliefern und keine [[Wirkung (Informatik)|Nebeneffekt]]e auf dem beobachtbaren Zustand des Systems aufweisen, während ein Kommando beobachtbare Nebeneffekte aufweist und keine Daten zurückliefert.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Das QCS-Prinzip besagt, dass eine Methode entweder als ''Abfrage'' (''{{lang|en|query}}'') oder als ''Kommando'' (''{{lang|en|command}}'', ''{{lang|en|modifier}}'' oder ''{{lang|en|mutator}}'') implementiert werden soll. Eine Abfrage muss hierbei [[Daten]] zurückliefern und keine [[Wirkung (Informatik)|Nebeneffekt]]e auf dem beobachtbaren Zustand des Systems aufweisen, während ein Kommando beobachtbare Nebeneffekte aufweist und keine Daten zurückliefert.</div></td> </tr> </table> 77.56.53.183