With Swift3 API guidelines in mind here is what I propose to rename in public API:
ObjectGraph -> Shared, Prototype -> Unique. These names will make it more clear how these scopes affect instances
resolveDependencies -> resolvingProperties
DefinitionKey properties: protocolType -> type, associatedTag -> tag, argumentsType -> typeOfArguments. Additional words in original names do not add any value to understanding meaning of these properties.
switch places for scope and tag parameters in register method. This does not break API in Swift2 but with Swift 3 will require to follow the order from declaration (SE-0060). register(.Shared, tag: "some") looks nicer than register(tag: "some", scope: .Shared)
There are also some internal methods renaming, but obviously its not that critical.
With Swift3 API guidelines in mind here is what I propose to rename in public API:
ObjectGraph
->Shared
,Prototype
->Unique
. These names will make it more clear how these scopes affect instancesresolveDependencies
->resolvingProperties
DefinitionKey
properties:protocolType
->type
,associatedTag
->tag
,argumentsType
->typeOfArguments
. Additional words in original names do not add any value to understanding meaning of these properties.resolve
method parameterwithArguments
->arguments
scope
andtag
parameters inregister
method. This does not break API in Swift2 but with Swift 3 will require to follow the order from declaration (SE-0060).register(.Shared, tag: "some")
looks nicer thanregister(tag: "some", scope: .Shared)
There are also some internal methods renaming, but obviously its not that critical.