Yegor Bugayenko wrote a book about object-oriented programing called Elegant Objects. Some people call the approach controversial, some are trying to adapt the concepts from the book and some would like to propose changes. This software will implement a call center where people can call in and get issues resolved.
Each chapter of the book Elegant Objects by Yegor Bugayenko will be covered by one or more pull request.
- Never us -er names
- Make one constructor primary
- Keep constructor code free
We will be designing this with 4 classes:
- Call
- Employee
- Operator
- Supervisor
- Director
- Caller
- Issue
Operator, supervisor, director
Yes
If there is no available operators or the operator can't handle the call, does the call go to the supervisors?
Yes
If there is no available supervisors or the supervisor can't handle the call, does the call go to the directors?
Yes
Yes
It gets queued
No
Assume they're valid