FrEee icon indicating copy to clipboard operation
FrEee copied to clipboard

Create data models

Open ekolis opened this issue 1 year ago • 14 comments

What needs to be cleaned up?

Right now our data models are mixed up with our domain models. This eliminates duplicate code, but makes the models very brittle as any change to the domain model necessitates a change to the data model and vice versa because they are one and the same.

Also let's rename the FrEee project to FrEee.Core to clarify what it is. Maybe put the data models in a separate project called FrEee.Data referenced by FrEee.Core and that alone, to enforce separation of concerns.

How will this benefit us?

Creating separate domain models will make the code flow simpler and more flexible.

What potential drawbacks are there to making this change?

Duplication of code (the reason this wasn't done to begin with)

ekolis avatar Apr 21 '24 17:04 ekolis

This might want to wait on refactoring abilities to be ECS to avoid messing around too much with inheritance in the data model #159

ekolis avatar Apr 21 '24 20:04 ekolis

On the other hand, refactoring the data classes out would tell me what need to be decoupled inheritance-wise...

ekolis avatar May 25 '24 17:05 ekolis

That PR didn't actually create the data models, but there was some refactoring I wanted to merge.

ekolis avatar Jun 14 '24 03:06 ekolis