Added State pattern
Added Strategy pattern
Added Template Method pattern
Added Visitor pattern