Java, Design Patterns, Structural Design Pattern, Software Engineering.
it to simplify the client code by allowing it to work with both individual objects and collections of objects in a consistent manner. Use it when you have recursive structures, such as directories and files, menus and menu items, or graphical shapes and their compositions. The Composite Design