Bifalgorithm post · Computer science one · Example
How can a Student object become more flexible?
How can a Student object become more flexible? (Computer science one · Example) — "A more flexible approach might be to allow the construction of a Student ins…
Ideas in this flowchart
- Flexible Student construction trades immutability for flexibility.
- A Student instance can be constructed without providing a course schedule.
- This approach allows the schedule to be supplied after construction.
- Outside code can add a course to the student.
- The addCourse($c) method appends the course to the schedule.
- The method implementation is: $this->schedule[] = $c;
- The object gains greater flexibility.
- The object no longer remains immutable.
- Design balances competing considerations through compromise.