My question is about an "edge case" of the UML class diagram. In particular, I have loads (about 30) classes that implement an interface. They can be split into two groups of similar classes. Within each group the classes only differ by the implementation of the methods from the interface, however they represent fundamental different problems (different partial differential equations). Since they are so similar, I figured I could "stack" them on top of each other and clarify the idea with a note.
Sure, I could also create only two classes (one for each group) and pass the implementation of the function at instantiation. However, I think that this is even worse than the current representation. Also, this would not be practical, since I expect to instantiate 100 and more objects of one class.
What do you think about the current state of the class diagram in the picture? Do you have any other ideas? Any help is welcome!