Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A menu domain driven design implementation using Composite, Iterator, and Factory Method to provide a simple,clean, elegant interface for menu management
tree: 23f841177e

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][ddd] approach. It is implemented using [COMPOSITE][comp], [ITERATOR][it], and [FACTORY METHOD][fac] 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][unsup].

[ddd] [comp] [it] [fac] [unsup]



  • [][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


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.