J'ai une application basée sur Squeryl. Je définir mes modèles comme des classes de cas, principalement parce que je trouve pratique d'avoir des méthodes de copie.
J'ai deux modèles qui sont strictement liés. Les champs sont les mêmes, de nombreuses opérations sont en commun, et ils doivent être stockés dans la même table DB. Mais il y a certains comportements qui n'a de sens que dans un des deux cas, ou qui fait sens dans les deux cas, mais ils sont différents.
Jusqu'à présent je n'ai utilisé qu'un seul cas de classe, avec un drapeau qui distingue le type du modèle, et toutes les méthodes qui diffèrent en fonction du type de modèle commencez avec un si. C'est ennuyeux et pas tout à fait le type de coffre-fort.
Ce que j'aimerais faire, c'est le facteur le comportement et les champs chez un ancêtre de la classe de cas et d'avoir les deux modèles héritent de celui-ci. Mais, comme je le comprends, d'hériter de classes de cas, c'est mal vu dans la Scala, et est même interdite si le sous-classe est elle-même une classe de cas (pas mon cas).
Quels sont les problèmes et les pièges je devrais être au courant en héritant d'une classe de cas? Est-il judicieux dans mon cas, de le faire?