Modify the activity scheduler program changing it to use


Class Factory - Activity Scheduler

For this assignment you will modify the Activity Scheduler program, changing it to use the Class Factory design pattern. The behavior of the program is exactly as before. The structure of the new program is shown below:

1103_figure3.jpg

As before, assume that the user will enter the correct type of input in response to the prompts.

Classes IActivity, Activity, Name, LanId, and PhoneNumber

These classes are the same as before.

Class ScheduledActivity

This class is almost the same as before, except that now it both creates and destroys the IActivity objects:
- The constructor argument is now a pointer to a Factory object (not a pointer to an IActivity object). The constructor does exactly what it did before, except that it sets the attribute ‘activity' by invoking the Factory method NewActivity() (instead of setting it from the argument).
- The destructor now deletes the attribute ‘activity'.

Class Scheduler
This class is almost the same as before, except that it passes Factory objects to ScheduledActivity:
- Method addActivity() now takes a parameter that is a Factory* (instead of an IActivity*). It passes this parameter to the ScheduledActivity constructor.

Class Factory
This class is the interface for the four subclasses below. It has the following:
- A pure virtual method NewActivity(), which returns an IActivity*.
- A virtual destructor with an empty implementation (provided in the class declaration).

Classes ActivityFactory, LanIdFactory, NameFactory, and PhoneNumberFactory
These four classes implement interface Factory. Each provides an implementation of method NewActivity(), returning a new object of the appropriate type. (For example, ActivityFactory::NewActivity() returns a new Activity object, LanIdFactory::NewActivity() returns a new LanId object, etc.)

File MainControl.cpp, method main
This method is simpler than before, since it is no longer responsible for creating and destroying activities. Instead it creates four Factory objects (NameFactory, LanIdFactory, PhoneNumberFactory, and ActivityFactory). It passes each of these to the scheduler's addActivity() method, and deletes all four Factory objects. Then it calls the scheduler's run() method, and returns 0.

General Information
Make sure you follow all coding conventions.

Make sure you have no memory leaks: delete any objects that are no longer reachable by any pointer.

Request for Solution File

Ask an Expert for Answer!!
Computer Engineering: Modify the activity scheduler program changing it to use
Reference No:- TGS01688347

Expected delivery within 24 Hours