Object Design is the most challenging and important part of this course. Better object design is only possible with proper software engineering principles. In this lab you will learn the implementation of the following five GRASP principles:
Create and commit a controller class of your semester project with methods/operations from operation contracts. if already exists then add your operations of your operation contract to it.
Create and commit a "Factory" class which will be responsible for creating objects in your whole project for all layers except UI. This will be the only class where "new" keyword is allowed in the code.
Create a pure fabricated class "Validator", where you will write input validation methods for example isValidEmail, isValidName, isValidDate etc. Validator should return the results in a well defined highly cohesive "Response" object.
Create a proxy class to controll the access to a sensitive data object e.g. Account. If request passed a condition then we return actual Account object, Otherwise a FakeAccount object is return.
To earn PASS status, system is about to evaluate you using multiple choice questions (MCQs) and True/False type questions.