A menu domain driven design implementation using Composite, Iterator, and Factory Method to provide a simple,clean, elegant interface for menu management
Java
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
.classpath
.gitignore
.project
LICENSE
README.md
build.xml
ivy.xml
pom.xml

README.md

Menu

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.

Structure

src/ com.visionarysoftwaresolutions.menu

  • [MenuComponent.java][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/visionarysoftwaresolutions.menu.MenuIntegrationTest.java for a long example of the various things you can do, then check it out!

Features

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]