code-patterns 3.3.1-beta
Pre-release
Pre-release
- New Autofac-based components (new dependencies Autofac and Autofac.CommonServiceLocator.Indy):
Patterns.Autofac.Modules.CoreModule→ registers all non-specialized interface-based components in PatternsPatterns.Autofac.Modules.ConfigurationModule→ registers all components needed to supportIConfigurationSourceinjection (issue 3)Patterns.Autofac.Sources.ResolveAnythingSource→ resolve-anything-creatable implementation of Autofac'sIRegistrationSource
- New extensions in
Patterns.Collections:void ICollection{TItem}.AddRange(IEnumerable{TItem} newItems)void IEnumerable{TItem}.Each(Action{TItem} action[, bool parallel = false])
- New configuration abstraction types in
Patterns.Configuration:IConfiguration/ConfigurationWrapperIConfigurationManager/ConfigurationManagerWrapperIConfigurationSource/ConfigurationSource
- New exception-handling delegate runners as well as a default error-handling strategy in
Patterns.ExceptionHandling:TValue Try.Get(Func{TValue} valueAccessor[, Func{Exception, ExceptionState} errorHandler = null])void Try.Do(Action action[, Func{Exception, ExceptionState} errorHandler = null])Func{Exception, ExceptionState} Try.HandleErrors.DefaultStrategy(new dependency: Common.Logging) → uses self-boundILoginstance to log exception; marks exception as "handled"
- New DateTime components for testability in
Patterns.Runtime:Patterns.Runtime.IDateTimeInfo→GetNow()method returnsDateTimePatterns.Runtime.DefaultDateTimeInfo→ proxiesDateTime.NowPatterns.Testing.Runtime.TestDateTimeInfo→ accepts a specificDateTimevalue and always uses thatDateTime DateTime.AccurateToOneSecond()(extension)
- New ease-of-use type for regular expressions:
Patterns.Text.RegularExpressions.CompiledRegex