Skip to content

HTTPS clone URL

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
Java
tree: 69a2ad93b0

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
src/com/visionarysoftwaresolutions
test/com/visionarysoftwaresolutions/menu
.classpath
.gitignore
.project
LICENSE
README.md
build.xml
ivy.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]
Something went wrong with that request. Please try again.