## Register types with [`IIocInstaller`s](IIocInstaller)
The easiest way to register classes with the `IocContainer` is to use `IIocInstaller`s and install them in the `Bootstrapper`.
The easiest way to register classes with the `IocContainer` is to use [`IIocInstaller`s](IIocInstaller) and install them in the `Bootstrapper`.
Example `IIocInstaller`:
@ -34,7 +34,7 @@ public class Installer : IIocInstaller
}
```
## Use factories to resolve instances
## Use [abstract factories](Abstract-factories) to resolve instances
Instead of using the `Resolve<>()` method to resolve instances from the `IocContainer` and thus needing an `IocContainer`-object, it is recommended to use [abstract factories](Abstract-factories) to resolve instances.
The `RegistrationFactory` is a helper class to register interfaces and factories in an `IIocInstaller` and create the needed `IRegistrationBase`s.
The `RegistrationFactory` is a helper class to register interfaces and factories in an [`IIocInstaller`](IIocInstaller) and create the needed `IRegistrationBase`s.
To register abstract factories, an `ITypedFactoryRegistration<TFactory>` has to be created. The preferred way to do so is to use the generic method `RegisterFactory<TFactory>()`:
To register [abstract factories](Abstract-factories), an `ITypedFactoryRegistration<TFactory>` has to be created. The preferred way to do so is to use the generic method `RegisterFactory<TFactory>()`: