This post is addressing the question of how can we understand persistables
as objects? We start with the positive side of things.
Movable persistables
This case is best explained using an equivalence relation on (sets of) persistables that relates two (sets of) persistables whenever they are to be considered “the same”; let us denote this relation by ≃. We read 𝑋 ≃ 𝑌 as 𝑋 and 𝑌 are different incarnations of essentially the same persistable(s). The typical scenario that impliciclty has such an equivalence relation “built in” is when we allow to move (sets of) persistables between different controllers.
This cross-controller scenario is a good minimalistic example: we simply have different versions of “the same persistable(s)” over time; this is in direct analogy of several different versions of the same object over time, which is changing only accidental properties (and not essential ones, by which we mean properties that would change object identity).
The cross-controller example shows that we have a natural notion of time, flowing in some direction. Thus, we may go for an additional general partial order on (sets of) persistables such that 𝑋 ≤ 𝑌 means 𝑋 is a potential predecessor of 𝑌. Note that 𝑋 ≤ 𝑌 and 𝑋 ≃ 𝑌 may hold at the same time, which amounts to 𝑋 being an earlier version of 𝑌 . Note that ≤ is something like provenance in a deployed instance, in particular relative to one controller or several cooperating ones.
Now, we may have a sequence 𝑋1 ≺ 𝑋2 … ≺ 𝑋𝑛 , each change is via executing a valid transaction, and 𝑋1 ≃ 𝑋2 … ≃ 𝑋𝑛. Now each of the transactions can be thought of as a method call[1]. And there we have discovered a way to think of sets of persistables as transactional objects!
Singular persistable
This is a special case with one creation event and at most one consumption event. We only have a constructor and a destructor.
Next steps
Besides writing the above up in more detail, it would probably be nice to have the equivalences ≃ between different families of sets of persistables, such that each member of the family is an object such that we have several objects that are changing in cooperation with each other.
However, I think, there are many questions to ask: Please ask away and comment!