We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Designing Wonderful .NET APIs

00:00

Formal Metadata

Title
Designing Wonderful .NET APIs
Title of Series
Number of Parts
170
Author
License
CC Attribution - NonCommercial - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
There are .NET libraries that are complex to setup, hard to understand, difficult to debug, and impossible to extend. And then there are .NET libraries for the same task that wonderfully just work. Why do some libraries succeed where others fail? In this session James will discuss what makes a well designed API, from high level design principles like The Pit of Success, The Wall of Complexity, and The Power of Sameness, to applying those concepts in low level .NET class design, with the goal of creating .NET libraries that developers love to use.
WeightType theorySoftware developerCountingDuality (mathematics)Gamma functionReading (process)Singuläres IntegralCoprocessorForm (programming)Process (computing)Telephone number mappingCategory of beingComputer fileConfiguration spaceCodeTexture mappingWorkstation <Musikinstrument>CASE <Informatik>Goodness of fitComputer virusTable (information)Configuration space.NET FrameworkMappingJava appletLibrary (computing)Category of beingQuicksortIntegrated development environmentType theoryMultiplication signSoftware developerFormal languageCodeSet (mathematics)Enumerated typeSocial classConcordance (publishing)Student's t-testEvent horizonDatabaseConstructor (object-oriented programming)Attribute grammarComputer fileWeightFile systemSoftware frameworkAuthorizationMathematicsError messageProjective planePiRange (statistics)Different (Kate Ryan album)SequelConnected spaceLatent heatSign (mathematics)Focus (optics)Task (computing)Streaming mediaStandard deviationComputing platformTelephone number mappingComputer programmingService (economics)Matrix (mathematics)Form (programming)Scaling (geometry)PlastikkarteGreatest elementData managementCountingMusical ensembleBitDigital photographyPhysical systemHypermediaFerry CorstenWeb pageProcess (computing)SphereCompilerObservational studyVisualization (computer graphics)Closed setOptical disc driveControl flow2 (number)Data conversionDressing (medical)Computer animation
String (computer science)Category of beingCodeSoftware frameworkPower (physics)Contrast (vision)Computing platformKolmogorov complexityWeightForm (programming)Application service providerMaxima and minimaConvex hullPhysical systemFeedbackOrder of magnitudeOrder (biology)Electronic mailing listComputer fileDrop (liquid)Radio-frequency identificationDiagramConfiguration spaceWeb pageTask (computing)Type theoryDoubling the cubeIntegrated development environmentContext awarenessServer (computing)Validity (statistics)BitLatent heatPresentation of a groupSocial classDifferent (Kate Ryan album)Complex (psychology)Software frameworkMathematicsComputing platformMobile appWeb 2.0Pattern languageInterface (computing)Standard deviationOnline helpContrast (vision)Term (mathematics)FeedbackService (economics)HookingMappingSubsetInformationRange (statistics)Drag (physics)Revision controlQuicksort.NET FrameworkApplication service providerCategory of beingForm (programming)CodePerfect groupNumberAttribute grammarSet (mathematics)Boilerplate (text)WritingProcess (computing)Software developerExtension (kinesiology)Power (physics)WeightSoftware bugEvent horizonInheritance (object-oriented programming)Mixed realitySoftware maintenanceDisk read-and-write headRepresentation (politics)Arithmetic progressionMultiplication signWaveformFigurate numberGoodness of fitHoaxSystem callState of matterBound stateCycle (graph theory)Video gameWater vaporComputer animationDiagram
FeedbackLogicWeightSpacetimeProduct (business)StrutCASE <Informatik>Pascal's triangleString (computer science)Event horizonComputer fileParameter (computer programming)Client (computing)Exception handlingAttribute grammarInterface (computing)Data typeStreaming mediaAbstractionSocial classKnot.NET FrameworkInheritance (object-oriented programming)Parameter (computer programming)Software developerType theoryCodeException handlingWeightCASE <Informatik>ImplementationSocial classInterface (computing)BitCanonical ensembleKey (cryptography)Pascal's triangleGeneric programmingRandomizationOnline helpMultiplication signIntegrated development environmentSyntaxbaumData structureLink (knot theory)Expression1 (number)Validity (statistics)Maxima and minimaCartesian coordinate systemTwitterInternet service providerMechanism designElement (mathematics)Pairwise comparisonAttribute grammarHookingLevel (video gaming)Functional (mathematics)QuicksortElectronic mailing listString (computer science)Address spaceLatent heatLogicSoftware frameworkCategory of beingAbstractionApplication service providerHypertextSoftware testingRule of inferenceField (computer science)Markup languageWordSlide ruleMereologyConstructor (object-oriented programming)Focus (optics)Streaming mediaWeb browserPresentation of a groupSemiconductor memoryCore dumpNormal (geometry)Source codeProcess (computing)Goodness of fitDescriptive statisticsEvent horizonCompilerMathematicsAxiom of choiceWave packetSummierbarkeitVisualization (computer graphics)Formal languageSubsetRoboticsTrailArmFreewareQuery languageTablet computerComplex (psychology)Moment (mathematics)LaceVotingArithmetic meanNamespaceClient (computing)Pauli exclusion principleGraph coloringPlastikkarteComputer animation
AbstractionSocial classInterface (computing)ImplementationStrutApproximationString (computer science)Equals signSet (mathematics)Axiom of choiceTelephone number mappingFlagObject (grammar)Array data structureData structureParameter (computer programming)Default (computer science)Execution unitWindowInformation overloadConsistencyMessage passingException handling.NET FrameworkDefault (computer science)Rule of inferenceWeightObject (grammar)Field (computer science)NumberSocial classInterface (computing)Multiplication signCASE <Informatik>Semiconductor memoryImplementationException handlingVariable (mathematics)Different (Kate Ryan album)Parameter (computer programming)Memory managementAbstractionMessage passingSoftware frameworkVector potentialConstructor (object-oriented programming)Axiom of choiceReflection (mathematics)Service PackState of matterElement (mathematics)Order (biology)Pointer (computer programming)Type theoryClosed setDataflowCuboidOnline helpSoftware developerInheritance (object-oriented programming)Interior (topology)Descriptive statisticsRevision controlThumbnailInternet service providerFlagEnumerated typeComputer configurationArray data structureTelephone number mappingIntegerWindowGreatest elementString (computer science)Pairwise comparisonInformation overloadMultilaterationQuicksortCloningLatent heatExpressionConsistencyRadio-frequency identificationPower (physics)Heegaard splittingData structureSign (mathematics)Computer iconShape (magazine)Service (economics)9 (number)Metropolitan area networkNatural numberPlanningArmMetreRobotSampling (statistics)Scripting languageComputer animation
String (computer science)Message passingException handlingParameter (computer programming)Information overloadConsistencyBoolean algebraTelephone number mappingGroup actionStructural loadCompilation albumOvalBuildingCategory of beingProduct (business)Context awarenessIterationDatabaseVideo game consolePasswordHash functionConstructor (object-oriented programming)Execution unitError messageInheritance (object-oriented programming)Expected valueFile systemInheritance (object-oriented programming)Telephone number mappingBoolean algebraParameter (computer programming)Category of beingMessage passingException handlingResultantField (computer science)DatabaseElectronic program guideRight angleBitOverhead (computing)Multiplication signLoop (music)Product (business)Object (grammar)CodeCASE <Informatik>Constructor (object-oriented programming)Boilerplate (text)Social classInformation overloadMiniDiscSoftware developerSpacetimeComputer fileString (computer science)Electronic mailing listMathematicsPasswordStatement (computer science)Link (knot theory)LogicContext awarenessRadio-frequency identificationInstance (computer science)Function (mathematics)Order (biology)Type theoryPoint (geometry)Structural loadResolvent formalismCartesian coordinate systemEnumerated typeDescriptive statisticsBit rateSystem callMatching (graph theory)ArmSign (mathematics)Physical systemMereology1 (number)NumberOnline helpNumbering schemeStress (mechanics)Royal NavyMetropolitan area networkState of matterGoodness of fitPlastikkarteComputer animation
Exception handlingString (computer science)Error messagePosition operatorParameter (computer programming)Software developerInheritance (object-oriented programming)Message passingOvalCategory of beingConstructor (object-oriented programming)UsabilitySoftware frameworkInformationExistenceException handlingControl flowCodeSoftware developerError messageLibrary (computing)VirtualizationTraffic reportingParameter (computer programming)CASE <Informatik>Revision controlMultilaterationComputer filePosition operatorSoftware frameworkInformationString (computer science)UsabilityType theoryObject (grammar)Extension (kinesiology)Online helpIterationYouTubeSpeicherbereinigungWeb application.NET FrameworkPointer (computer programming)Category of beingSerial portConstructor (object-oriented programming)Electronic mailing listGame controllerDataflowCartesian coordinate systemWeb 2.0Surjective functionData conversionDesign by contractResolvent formalismWeightPower (physics)Social classMatching (graph theory)Message passingReflection (mathematics)Inheritance (object-oriented programming)Operator (mathematics)Latent heatGoogolMultiplication signNeuroinformatikSystem callRight angleService (economics)10 (number)Loop (music)Expected valueElectric generatorWavePoint (geometry)GodResultantLevel (video gaming)Process (computing)VideoconferencingSpecial unitary groupRow (database)2 (number)Fault-tolerant systemChainDirected graphWebsiteGoodness of fitAreaInstance (computer science)State of matterMeasurementComputer animation
Multiplication signComputer animation
Transcript: English(auto-generated)