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: 23f841177e

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
.gitignore
README.md

README.md

Menu

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] http://domaindrivendesign.org/ [comp] http://sourcemaking.com/design_patterns/composite [it] http://sourcemaking.com/design_patterns/iterator [fac] http://sourcemaking.com/design_patterns/factory_method [unsup] http://docs.oracle.com/javase/7/docs/api/java/lang/UnsupportedOperationException.html

Structure

src/ com.visionarysoftwaresolutions.menu.Menu

  • [Menu.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

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]

[createMenu] http://github.com/leadVsionary/Menu

Something went wrong with that request. Please try again.