New answers tagged design-principles
Looks like the purpose of the model is missing from the picture. DDD is not about modelling reality: it's about discovering the model which is the best fit for the specific purpose. Design patterns will eventually follow.
Try to think of it the other way around: If you had to drive from A to B and you didn't care about the roads you use or the time you get there, you might just take a Car, Accelerate() it, and Stop() whenever you're there. So, an abstract kind of Car will easily suffice for the purpose. I imagine many people would use that Car while they don't actually care ...
Forget about design right now. Your idea for the system is too ill-formed to decide on low-level design details like class inheritance. Instead decide on some exact use cases and implement them. Then implement some more use cases. Continuously refactor the code to eliminate duplication. Introduce interfaces to eliminate circular dependencies. When it ...
Top 50 recent answers are included