Beziehungen.
Freund: Bei zwei Personen folgt eine Freundschaft diesen allgemeinen Gesetzen
- Habe guten Willen zueinander
- Denkt, dass sich die beiden Freunde sind (daher müssen die Gesetze in dieser Beziehung von beiden Mitgliedern eingehalten werden)
- Genießt es, Zeit miteinander zu verbringen
Monoid: Bei mehreren Elementen und einer Funktion, die 2 der Elemente annimmt und 1 zurückgibt, folgt eine monoidale Beziehung diesen allgemeinen Gesetzen
- Es gibt eines dieser Elemente (nur eines mit der Bezeichnung Identität), das mit einem anderen Element an die Funktion übergeben wird, um sicherzustellen, dass die Funktion immer das andere Element zurückgibt (0 + 1 = 1, daher ist 0 die Identität, wenn es sich bei den Elementen um Zahlen handelt, und Funktion ist Zusatz)
- Die Funktion kann keine Elemente bearbeiten oder zurückgeben, die nicht in dem Satz enthalten sind, mit dem sie eine monoidale Beziehung hat
- Die Funktion ist assoziativ und kann in gewisser Weise unabhängig von der Reihenfolge mit den Elementen verwendet werden. Dies bedeutet a * (b * c) = (a * b) * c, was besagt, dass Sie a mit dem Ergebnis von b * c oder c multiplizieren können durch das Ergebnis von a * b und das Ergebnis wird das gleiche sein, was Sie zuerst tun.
Bei der funktionalen Programmierung dreht sich alles um Verallgemeinerungen. Friend ist eine sehr allgemeine Beziehung, die in zahlreichen Szenarien zu sehen ist, aber in allen verschiedenen Formaten folgt sie im Allgemeinen den obigen Gesetzen.
Wenn Sie die Gesetze kennen, die die Beziehungen zwischen Dingen regeln, können Sie allgemeine Implementierungen erstellen, die auf jedem Format von Dingen mit dieser Art von Beziehung funktionieren. In der funktionalen Programmierung versuchen Sie, die Beziehungen zwischen Dingen zu identifizieren, damit sie allgemein klassifiziert und behandelt werden können.
Sie möchten eine Metapher aus der realen Welt? Sehen Sie sich an, wie die Dinge zusammenhängen, und versuchen Sie, allgemeine Gesetze zu ermitteln (wie in mehreren Szenarien, in denen andere als die Gesetze variieren können). Es gibt eine Beziehung zwischen einem Kassierer und einem Käufer in einem Geschäft, es gibt einige allgemeine Gesetze, Software wurde entwickelt, um die Ziele von Personen in dieser allgemeinen Beziehung in Bezug auf POS-Systeme zu erleichtern. Auf ähnliche Weise können Sie sich beim Schreiben Ihrer Software auf die Gesetze dieser Beziehungen verlassen, anstatt auf die spezifischen Einzelheiten einer Beziehungsinstanz, wenn Sie feststellen, dass diese allgemeinen Gesetze die Zusammenhänge bestimmen.