-
Examine the code in "ex4.js". Jot down the inheritance relationships and the composition (mixin) relationships between the various classes.
-
Identify which classes have substantive OO behavior (inheritance, encapsulation, etc), and which ones are CINO (class-in-name-only), and could be simplified to just data.
-
Modify the code in places you think make sense. Make sure after each change, you "test" the code to make sure it still works and still outputs what's expected.
-
Identify where inheritance is happening, and identify if you think the inheritance is useful or unnecessary in each case. Can you modify the code to not have inheritance/abstraction in those cases? What are the pros/cons? Try it out. Is the code better or worse off? Are the performance benefits worth it?
-
Identify places where CRUD (create-read-update-delete) type operations are (or can be) performed. For instance, how are entries added to the Address Book? How are people and addresses added to entries? How can you output the data stored in these data structures?
-
Imagine you needed to do bulk operations (like loading a big list of address book entries from a data source). How well do you think the code will perform under those circumstances? What are some ways you could modify the code to be more performant in bulk-operation scenarios?
-
Try modifying the code to be more bulk-operation friendly. Do you find it violating the OO design principles too much? Where do you think the line should be drawn in these tradeoffs?
-
Notifications
You must be signed in to change notification settings - Fork 0
License
oshoferyuk/test
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
About
No description, website, or topics provided.
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published