Improve testability and support for rapid releases without breaking changes

Fixed in

EPiServer.CMS.Core 9.9.0

Created

Apr 27, 2016

Updated

Jun 09, 2016

State

Closed, Fixed


Description

A list of public API's have been identifier where the API itself is the implementation or exposes static events, in these cases an interface have been added to make it possible to write testable code against abstractions. The actual implementation will be moved into an Internal namespace in the next major version and will after that no longer be supported, we recommend using the interfaces instead even though most of the implementation are not obsoleted.

  • VisitorGroupStatisticsLogger -> IVisitorGroupStatisticsLogger
  • VisitorGroupEvents -> IVisitorGroupEvents
  • VisitorGroupStore -> IVisitorGroupRepository
  • VisitorGroupRole -> IVisitorGroupRoleEvents, IVisitorGroupRoleRepository
  • VirtualRoleRepository -> IVirtualRoleRepository
  • BackingTypeResolver -> IBackingTypeResolver
  • ContentTypeModelRegister -> IContentTypeModelRegistrator.
  • ReIndexManager -> IReIndexManager
  • ContentFactory -> IContentFactory
  • DisplayChannelService ->IDisplayChannelService
  • TemplateControlLoader -> ITemplateControlLoader
  • PropertySettingsRepository -> IPropertySettingsRepository
  • ILinkRepository -> IContentSoftLinkRepository, IContentSoftLinkStatusService
  • BlobFactory -> IBlobFactory + IBlobProviderRegistry
  • ContentTypeModelRegister -> IContentTypeModelRegistrator
  • PersonalizedContentFactory -> IPersonalizedContentFactory
  • DataExporter -> IDataExporter
  • DataImporter -> IDataImporter
  • DataImporter static events -> IDataImportEvents
  • DataExporter static events -> IDataExportEvents
  • QueryParameterResolver -> IQueryParameterResolver
  • SimpleAddressResolver -> ISimpleAddressResolver
  • ViewContentRetriever -> IViewContentRetriever
  • VirtualRoleAuthorizationSession -> IVirtualRoleAuthorizationSession
  • ContentTypeModelRegister -> IContentTypeModelRegistrator
  • PropertyDataInterceptor -> IPropertyDataInterceptor.cs
  • PropertyDefinitionSynchronizer -> IPropertyDefinitionTypeResolver
  • TemplateModelComparerFactory -> ITemplateModelComparerFactory
  • VirtualPathResolver -> IVirtualPathResolver
  • EventProviderService.DefaultProvider -> IEventProviderAccessor
  • Frame static methods -> IFrameRepository
  • ContentRoute -> IContentRoute
  • ContentRoute static events -> IContentRouteEvents
  • PageRouteHelper -> IPageRouteHelper
  • ContentRouteHelper -> IContentRouteHelper
  • DataFactoryCache -> IContentCacheKeyCreator, IContentCacheRemover, IContentCacheListingRemover, IContentCacheVersion
  • BasePathResolver -> IBasePathResolver
  • VisitorGroupReferenceFinder -> IVisitorGroupReferenceFinder
  • TypeReferenceAnalyzer -> ITypeReferenceAnalyzer