您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > CON1148_Gee2013年ORACLE全球大会资料
TrishaGee#GeeCONJavaDriverDeveloper,10gen@trisha_geeWhatdoyoumean,backwardscompatibility?Design:translatetherequirementsinaspecificationthatdescribestheglobalarchitectureandthefunctionalityofthesystem.~paulk/patents/isnot/node4.htmlManagingtheDevelopmentofLargeSoftwareSystems-DrWinstonRoyce,notaDocument•Designisajourney,enjoytheride•TherewillbeMonsters•TherewillbeSafeHouses•Theremightnotevenbeadestination...Whatareyousaying?BestJobEvar!!We’reoff!BackwardCompatibilityLotsofunknownsDesignGoalsYes,it’sadocumentDesignGoals•Consistency•Cleanerdesign•IntuitiveAPI•SaneExceptionhandling•Testfriendly•BackwardscompatibleLackofconsistencyCodingStandardsZeroAnalysisErrorsNomoreargumentsDesignGoals✓Consistency•Cleanerdesign•IntuitiveAPI•SaneExceptionhandling•Testfriendly•BackwardscompatibleUsersIdentifyOurUsers1.JavaDevelopers2.ODMs/otherdrivers/thirdparties3.ContributorsThreeTypesOfUsersJavaDevelopers•Consistency•Cleanerdesign•IntuitiveAPI•SaneExceptionhandling•Testfriendly•BackwardscompatibleThirdPartyLibraries•Consistency•Cleanerdesign•IntuitiveAPI•SaneExceptionhandling•Testfriendly•BackwardscompatibleContributors•Consistency•Cleanerdesign•IntuitiveAPI•SaneExceptionhandling•Testfriendly•BackwardscompatibleUsersareourfriendsBackwardCompatibilityArchitectureUML,yuk!HighLevelArchitectureScalaDriverDesignGoals•Consistency✓Cleanerdesign•IntuitiveAPI•SaneExceptionhandling•Testfriendly•BackwardscompatibleDesignGoals•Consistency•Cleanerdesign•IntuitiveAPI•SaneExceptionhandling•Testfriendly•BackwardscompatibleHighLevelArchitectureOption1:WrappingOption2:ConnectingBackwardCompatibility?TestsPassWewin!DesignGoals•Consistency•Cleanerdesign•IntuitiveAPI•SaneExceptionhandling•Testfriendly✓BackwardscompatibleNotDeadYet...ThePublicAPIDesignGoals•Consistency•Cleanerdesign•IntuitiveAPI•SaneExceptionhandling•Testfriendly•BackwardscompatibleCaveats•Itwon’tlooklikethis•Haven’tdecidedconsistentnamesyet•NeedsomethingthatsuitsalldriversFindcollection.find(query).skip(1000).limit(100);collection.find(query).skip(1000).limit(100);Findcollection.find(query).skip(1000).limit(100);collection.find(query).skip(1000).limit(100);collection.find(query,fields);WhichOne?Findcollection.find(query).skip(1000).limit(100);collection.find(query).skip(1000).limit(100);collection.find(query,fields);collection.find(query).fields(fieldsToSelect);FewerDecisions“Cmd+space”friendlyFindcollection.find(query).skip(1000).limit(100);collection.find(query).skip(1000).limit(100);collection.find(query,fields);collection.find(query).select(fields);Removecollection.remove(query);collection.find(query).remove();FindandModifycollection.findAndModify(query,update);collection.find(query).updateOneAndGet(update);Theyhateme!FindandModifycollection.findAndModify(query,update);collection.find(query).updateOneAndGet(update);collection.findAndModify(query,fields,sort,false,update,true,false);collection.find(query).sort(sort).updateOneAndGet(update);FindandModifycollection.findAndModify(query,update);collection.find(query).updateOneAndGet(update);collection.findAndModify(query,fields,sort,false,update,true,false);collection.find(query).sort(sort).updateOneAndGet(update);collection.find(query).sort(sort).getOneAndUpdate(update);LackofconsistencyConsistencyatlastcollection.find(query).limit(10);collection.find(query).limit(10).remove();collection.find(query).sort(sortCriteria).getOne();collection.find(query).sort(sortCriteria).remove();collection.find(query).sort(sortCriteria).count();Muertodeltodo✓Consistency•Cleanerdesign•IntuitiveAPI•SaneExceptionhandling•Testfriendly•BackwardscompatibleDesignGoals•Consistency•Cleanerdesign•IntuitiveAPI...•SaneExceptionhandling•Testfriendly•BackwardscompatibleNotDeadYet!Tutorial/hacksessionThistalkDesignisaProcess,notaDocumentQ&AAreyouusingtheJavadriver?Whatdoyoulikeaboutit?Whatareyourpainpoints?DesignisaProcess,notaDocumentYourQuestions•TrishaGee•trisha.gee@10gen.com•@trisha_gee
本文标题:CON1148_Gee2013年ORACLE全球大会资料
链接地址:https://www.777doc.com/doc-8066 .html