OO Principles

Object Oriented Principles were used in designing the application:

  • DRY (Don’t Repeat Yourself)
  • TDD (Test - Driven Development)

Having a good application structure is very hard to follow when it has many functionalities. A powerful tool is offered by Visual Studio Enterprise called CodeLens. It lets you stay focused on your work while you find out what happened to your code, without leaving the editor. You can find references to a piece of code, changes to your code, linked bugs, work items, code reviews, and unit tests.

OOP Paradigms

Application was designed using the following OOP paradigms:

  • Inheritance -> One object acquires all the properties and behavior of parent object
  • Polymorphism -> One task is performed by different ways (overloading and overriding)

Overloading: It allows a class to have more than one method/constructor having the same name and different argument lists

  • Abstraction -> Hiding internal details and showing functionality (using abstract class and interface)
  • Encapsulation -> Wrapping code and data together into a single unit. We declare the variables of a class as private and provide public setter and getter methods to modify and view the variables values