Squeryl'e dayalı bir uygulamam var. Modellerimi, çoğunlukla kopyalama yöntemlerine sahip olmayı uygun bulduğum için vaka sınıfları olarak tanımlıyorum.
Kesinlikle ilişkili iki modelim var. Alanlar aynıdır, birçok işlem ortaktır ve aynı DB tablosunda depolanmalıdır. Ancak iki durumdan yalnızca birinde anlamlı olan veya her iki durumda da anlamlı olan ancak farklı olan bazı davranışlar vardır.
Şimdiye kadar, modelin türünü ayırt eden bir bayrakla yalnızca tek bir durum sınıfı kullandım ve modelin türüne göre farklılık gösteren tüm yöntemler bir if ile başlar. Bu can sıkıcı ve pek güvenli değil.
Yapmak istediğim şey, bir ata durum sınıfındaki ortak davranış ve alanları faktörlere ayırmak ve iki gerçek modelin ondan miras almasını sağlamaktır. Ancak, anladığım kadarıyla, vaka sınıflarından miras almak Scala'da hoş karşılanmıyor ve alt sınıfın kendisi bir vaka sınıfı ise (benim durumum değil) bile yasak.
Bir vaka sınıfından miras alırken bilmem gereken sorunlar ve tuzaklar nelerdir? Benim durumumda bunu yapmak mantıklı mı?