I want to create an application for creating graphical documents, each document consists of several geometric shapes (Ball, Brick, Cylinder, Cube).
So I created two diagrams for my application, as shown in this picture :

I want to know which diagram is better and why ? and what are the disadvantages and the advantages of both approaches.
Of course it depends on the requirements. But from a neutral standpoint the left one is definitely the better one since it has a better perspective for
GraphicDocument. You don't need to know about the form of the elements only that they are shapes. So you can easily extend it without having to changeGraphicDocument.In other words: the left is loosely coupled while the right one is tightly coupled.