z96 / code-challenge

Code challenge assigned to me

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Code Repo:
 *	https://github.com/rahible/code-challenge.git
 
 Notes: If you search through the commit history you'll get an idea of
 		the way that I code and commit.  For example, I had originally thought 
 		Strategy / State pattern, but quickly realize I was going down the wrong
 		path and moved to the Composite pattern.

Execution:
mvn test

* Per the requirements documentation, I provided only unit tests.

Build Requirements:
 * Maven 3.0.5
 * JDK 1.7.0
 
Developed using JBoss Developer Studio 7.1.1.GA

Assumptions:
 * 	I assumed that an organization is flat where departments 
 	cannot have other departments.  This was due to time constraints.  
 	However, this could easily be enhanced by implementing the 
 	Composite design pattern as I did for the Employees.
 	
 * 	I assumed that a department can only have one head or manager.  
 	I don't recall working in an organization in my past where a 
 	department was headed by several managers.
 	
 * 	I assumed that the Expense Allocation was static to the employee 
 	implementation.  For this exercise making them static simplifies 
 	the creation of the unit test facets.  However, further refactoring 
 	to allow the values to be set on object creation would be a more 
 	ideal approach.

About

Code challenge assigned to me


Languages

Language:Java 100.0%