Remix.run Logo
cheschire 4 days ago

Meh, I disagree. Models can represent data stores, models can represent data views, and models can be for data transfer.

This is necessary for zero trust in application design. Traditionalists really seem to struggle with this shift in mentality that, when you are designing a system, trust is where the problems come from.

Just as an example, collecting date inputs from a user might be three different fields in the view model and only one field in the data model, and be completely different data types (int vs datetime). If you are working with a client side application then you may not want to pass the entire object to the client because you don’t trust them with all the information, and you cannot trust them to maintain state, so you only transfer the date value in a data transfer object.

These are all models with wildly different intents. If you can’t understand the intent of this separation of concerns then you are designing insecure systems.

frollogaston 4 days ago | parent [-]

It's trust and also org chart. One team will make one service, two teams will probably make two.