690 likes | 911 Views
#GeeCON. 要讲什么?向后兼容性?. Trisha Gee. 来自 10gen 的 Java 驱动程序开发人员 @trisha_gee. 设计: 将需求转化为描述系统的全局架构和功能的技术规范。. http://homepages.cwi.nl/~paulk/patents/isnot/node4.html. 管理大型软件系统的开发 — Winston Royce 博士. http://www.cs.umd.edu/class/spring2003/cmsc838p/Process/waterfall.pdf. < 此页特意保留空白 >. 灵活的设计.
E N D
#GeeCON 要讲什么?向后兼容性? Trisha Gee 来自 10gen 的 Java 驱动程序开发人员 @trisha_gee
设计:将需求转化为描述系统的全局架构和功能的技术规范。设计:将需求转化为描述系统的全局架构和功能的技术规范。 http://homepages.cwi.nl/~paulk/patents/isnot/node4.html
管理大型软件系统的开发— Winston Royce 博士 http://www.cs.umd.edu/class/spring2003/cmsc838p/Process/waterfall.pdf
<此页特意保留空白> 灵活的设计
要讲什么? • 设计是一次旅行,享受您的旅程 • 您会遇到怪物 • 也会发现密室 • 甚至可能没有目的地……
设计目标 • 一致性 • 更明晰的设计 • 直观的 API • 稳健的异常处理 • 测试友好 • 向后兼容性
设计目标 • 一致性 • 更明晰的设计 • 直观的 API • 稳健的异常处理 • 测试友好 • 向后兼容
三类用户 • Java 开发人员 • ODM / 其他驱动程序 / 第三方 • 贡献者
Java 开发人员 • 一致性 • 更明晰的设计 • 直观的 API • 稳健的异常处理 • 测试友好 • 向后兼容
第三方库 • 一致性 • 更明晰的设计 • 直观的 API • 稳健的异常处理 • 测试友好 • 向后兼容
贡献者 • 一致性 • 更明晰的设计 • 直观的 API • 稳健的异常处理 • 测试友好 • 向后兼容
设计目标 • 一致性 • 更明晰的设计 • 直观的 API • 稳健的异常处理 • 测试友好 • 向后兼容
设计目标 • 一致性 • 更明晰的设计 • 直观的 API • 稳健的异常处理 • 测试友好 • 向后兼容
设计目标 • 一致性 • 更明晰的设计 • 直观的 API • 稳健的异常处理 • 测试友好 • 向后兼容
设计目标 • 一致性 • 更明晰的设计 • 直观的 API • 稳健的异常处理 • 测试友好 • 向后兼容
注意 • 它看起来不像这样 • 尚未决定一致的名称 • 需要某种适合所有驱动程序的 API
查找 collection.find(query).skip(1000).limit(100); collection.find(query).skip(1000).limit(100);
查找 collection.find(query).skip(1000).limit(100); collection.find(query).skip(1000).limit(100); collection.find(query, fields);
查找 collection.find(query).skip(1000).limit(100); collection.find(query).skip(1000).limit(100); collection.find(query, fields); collection.find(query).fields(fieldsToSelect);
查找 collection.find(query).skip(1000).limit(100); collection.find(query).skip(1000).limit(100); collection.find(query, fields); collection.find(query).select(fields);