So I have 3 levels of my application:
[Profile L1] has_many [Profile L2] has_many [Profile L3]
Each [Profile L2] is classified according to [Category L1] and [Category L2] such that each [Category L2] has a parent [Category L1]
The list of [Category L1] items is immutable, and view implementations, data validations, etc. vary slightly between different [Category L1]s
The list of [Category L2] items is mutable, and will be tied to a database table.
[Profile L2] behaviour depends on it’s [Category L1]. Despite this, all [Profile L2] instances are tied to the same
resources block in
How would I architect this best? Extend [Profile L2]? Write all methods with guard clauses?