【站内原创】【编程思维(万字,面向初学者)】
贴吧惯例,一楼祭天,二楼开始正文。
1.3:代码逻辑的优美
如何描述QQ中的消息发送界面?
如果点击发送,那么在消息记录的右侧添加一条消息。
如果点击发送,那么让消息记录整体上移,然后在消息记录下方的右侧添加一条消息。
如果点击发送,那么:
消息记录整体上移。
设A=输入框中的内容。
在消息记录下方的右侧添加一条消息,内容为A。
现在还有一个问题:跟你聊天的那个人的消息记录也需要修改。
如果点击发送,那么:
消息记录整体上移。
设A=输入框中的内容。
在消息记录下方的右侧添加一条消息,内容为A。
接收者的消息记录整体上移。
在接收者的消息记录下方的左侧添加一条消息,内容为A。
这样的设计不优美。这个设计可以重构成另一种优美的设计:
有一个【公共消息记录】。
公共消息记录中,所有消息都排列在左侧,而非【一人在左,一人在右】。
显示消息记录时:
第一步,生成一个【超高的此人视角消息记录】。
这个消息记录中,此人的消息在右、对方的消息在左。但是没有滚动条。
整个消息记录是一个超高的画布。
第二步,截取这个【超高的此人视角消息记录】的下方区域,显示在QQ的消息记录窗口中。
如果点击发送:
在【公共消息记录】中添加一条消息。
让双方重新显示消息记录。