Skip to content
This repository has been archived by the owner on Dec 19, 2023. It is now read-only.

Ditch interfaces where possible #90

Closed
LordZoltan opened this issue Mar 4, 2019 · 0 comments
Closed

Ditch interfaces where possible #90

LordZoltan opened this issue Mar 4, 2019 · 0 comments

Comments

@LordZoltan
Copy link
Member

LordZoltan commented Mar 4, 2019

  • IResolveContext to be ditched in favour of non-virtual ResolveContext
  • IContainer to be thrown away - Container will be the primary container API
  • IContainerScope also removed in favour of ContainerScope
  • IScopeFactory removed (not required)
  • ICompiledTarget removed. Compilers now always produce factory delegates.

In doing this, also, move as many of the Resolve operations as possible to being first-class members on these types instead of relying on extension methods.

The primary motivation for this is performance (although note that poor performance is only really noticed in micro-benchmarks) - method calls via interface are significantly slower than direct calls and even to virtual methods of a class.

@LordZoltan LordZoltan added this to the 2.0 milestone Mar 4, 2019
@LordZoltan LordZoltan self-assigned this Mar 4, 2019
@LordZoltan LordZoltan added this to In progress in Rezolver Board Mar 18, 2019
@LordZoltan LordZoltan moved this from In progress to Developed in Rezolver Board May 8, 2019
Rezolver Board automation moved this from Developed to Done Jul 24, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
Development

No branches or pull requests

1 participant