COMP 310
Fall 2011
|
Lec35: Design
Post-Mortem
|
 |
HW08 is due tomorrow, Tues. Nov. 15, 2011 @ 10
AM.
Outstanding design issues:
- Return type of IChatRoom.relayMsg()
Implemenation Issues:
- Adding yourself to a chat room safely -- don't want to receive your own
IAddUser packet!
- How to insure that the processing of a datapacket has completed for all
users.
Let's spend today's lecture hour dissecting the ChatApp design for both its
strengths and weaknesses:
The Hardest Parts:
- Hardest to design?
- Hardest to understand?
- Hardest to code?
- Hardest to debug?
Issues to consider
- How did the design decision affect the program as a whole?
- Was it a positive or negative impact?
- Did it make the system simpler or more complex?
- Did it make coding easier or harder?
- Were you coding with or against the paradigm, i.e. did it help or
hinder your ability to express your ideas?
- Did it make the system more/less
- flexible
- extensible
- robust
- correct
- What were the alternatives?
- Overall, was it the right decision?
- What were the compromises?
Starting Points for Discussion:
- Use of extended visitors
- Overall effect on system
- For datapackets
- For status
- ICmd2ModelAdapter interface
- IConnection
- IChatRoom
- No Add/RemoveAllUsers?
- Returned type of sendMsg was an
array, vs. an Iterable.
- Lack of model access.
- IUser
- getMsg return type, e.g.
IStatus vs.
ADataPacket
- IStatus
- Inclusion of IUser sender.
- Threading issues
Class Discussion Synopsis:
© 2011 by Stephen Wong and Scott Rixner