Hi @SamWilsn,
You’re right: Data Objects have a lot in common with some data-related Java patterns. At the same time, there are differences.
Data Access Objects are used in Java to abstract data storage from business logic. This is similar to the purpose of the Data Objects we have, but DAOs are limited to generic CRUD operations, while Data Objects provide data-specific operations (like mint/burn/transfer when we store data for a fungible token).
Data Objects are also similar to Components in the ECS pattern, since they inherit data and base logic for it. But I think it would be wrong to represent Data Managers as Entities - because unlike Entities, which usually only have an ID, Data Managers have their own logic and data.
Data Index provides an intermediate layer between business logic (implemented in Data Managers) and data storage (in Data Objects), and this is similar to the Repository Design Pattern , but since the main purpose of Data Index is to manage access to Data Objects, I don’t think it has exactly the same purpose and semantics as Repositories.
1 Like