Refactoring UI读书笔记
从草图着手
起手式应该着眼于功能,而非布局。不要一开始就考虑有没有顶栏或侧边栏。先思考软件的功能是什么?
如果是出行类网站,那就要提供搜索航班的功能,需要以下功能组件:
- 出发地和目的地
- 出发和返回日期
- 搜索按钮
组合基本的功能组件就得到了草图。
不要一开始就把时间花在打磨细节上,要先关注功能和布局,做一个低保真的原型图。
起手式应该着眼于功能,而非布局。不要一开始就考虑有没有顶栏或侧边栏。先思考软件的功能是什么?
如果是出行类网站,那就要提供搜索航班的功能,需要以下功能组件:
组合基本的功能组件就得到了草图。
不要一开始就把时间花在打磨细节上,要先关注功能和布局,做一个低保真的原型图。
传统的单机情况下,通过内存或者数据的主键就可以维护一个唯一ID,但随着业务增长,免不了增加主机和分库分表,在这种情况下如何表示一个唯一的订单或者用户呢?
这就是分布式唯一ID的意义。如果并非此场景,利用数据库自增值或者时间戳随机种子(为避免1ms内碰撞,可以再维护几位顺序位,可以参考后文snowflake算法)即可。当然由于绝大多数分布式唯一ID算法效率很高,想用也是可以的。
分布式唯一ID的要求可以拆解为三个层面: