A calculator app using various design patterns