|
|
|
|
140
|
# Notice the Design Flaw
|
140
|
# Notice the Design Flaw
|
141
|
* You may have notice that `findById` makes it difficult to intuitively identify _which_ `Person` object is being returned.<br>
|
141
|
* You may have notice that `findById` makes it difficult to intuitively identify _which_ `Person` object is being returned.<br>
|
142
|
Additionally, it's challengaing to ensure **every** `Person` instance has a unique ID amongst its respective `People` subclass.<br>
|
142
|
Additionally, it's challengaing to ensure **every** `Person` instance has a unique ID amongst its respective `People` subclass.<br>
|
143
|
-To remedy this issue, we redesign and refactor. Visit the [enum microlab]()
|
|
|
|
|
143
|
+To remedy this issue, we redesign and refactor.
|
|
|
144
|
+
|
|
|
145
|
+# Part 9.1 - Create `Educator` enum
|
|
|
146
|
+* Create an enum named `Educator`.
|
|
|
147
|
+ * The enum should implement `Teacher`.
|
|
|
148
|
+ * The enum should have an enumeration for each of the instructors represented in the `Instructors` class.
|
|
|
149
|
+ * The enum should have an _empty nullary constructor_.
|
|
|
150
|
+
|
|
|
151
|
+# Part 9.0 - Test `Educator`
|
|
|
152
|
+* Ensure
|
|
|
153
|
+
|
|
|
154
|
+# Part 10.1 - Modify `Instructor` Class
|
|
|
155
|
+* Annotate the constructor with `@Deprecated`.
|
|
|
156
|
+ * This constructor should be commented with `//TODO - Remove dependencies`
|
|
|
157
|
+* Create a constructor in the `Instructor` class which uses `Educator educator` parameter to set a final `educator` field.
|
|
|
158
|
+* The class should differ calls to the `teach` and `lecture` method to the composite `educator` field.
|
|
|
159
|
+* Remove any calls being made to the deprecated construcor.
|
|
|
160
|
+
|
|
|
161
|
+# Part 10.0 - Modify `InstructorTest`
|
|
|
162
|
+* Ensure
|