Skip to content
A menu domain driven design implementation using Composite, Iterator, and Factory Method to provide a simple,clean, elegant interface for menu management
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


A library for creating menus built using a Domain Driven Design approach. It is implemented using COMPOSITE, ITERATOR, ABSTRACT FACTORY, and DECORATOR to provide a simple, clean, elegant interface for menu management.

*Note: Special care is taken for user input sanitation. This menu does not work with null at all. Attempts to use null will trigger UnsupportedOperationException.



  • [][menu] -- The Aggregate Root of Menu, defines an interface that developers and 3rd party libraries can rely on as the contract to which this library adheres.
    • This interface is Open for Extension, Closed for Modification

...more to come TO DO

Check out test/com/ for a long example of the various things you can do, then check it out!


Feature Story Status Tests
Create a Menu
  • Given: I have the name of a menu I want to create
  • When: I use the menu factory's create menu method
  • Then: I am returned a named menu
Done [MenuFactoryTests][createMenu]
Something went wrong with that request. Please try again.