You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The specifications were designed to be flexible and extendable. The users may choose to replace evaluators, write their extensions, and so on. In reality, 95% of the users do not do that, and they should not pay the price of this "extensibility".
The theme of version 9 is to reduce the allocation as much as possible. In that context, the specifications no longer accept custom implementations of IInMemorySpecificationEvaluator and ISpecificationValidator as constructor arguments. Instead of keeping these implementation references as a state (and wasting 16 bytes), they will be defined as calculated properties. Our default implementations are singleton instances anyway, and we won't have additional allocations on access. Anyhow, the properties will be defined as virtual, and users will still be able to alter the behavior and use their implementations if necessary.
Breaking changes:
The common use of this library will remain unchanged. Folks who use custom in-memory evaluators or validators will need to change the way they wire them up.
The text was updated successfully, but these errors were encountered:
The specifications were designed to be flexible and extendable. The users may choose to replace evaluators, write their extensions, and so on. In reality, 95% of the users do not do that, and they should not pay the price of this "extensibility".
The theme of version 9 is to reduce the allocation as much as possible. In that context, the specifications no longer accept custom implementations of
IInMemorySpecificationEvaluator
andISpecificationValidator
as constructor arguments. Instead of keeping these implementation references as a state (and wasting 16 bytes), they will be defined as calculated properties. Our default implementations are singleton instances anyway, and we won't have additional allocations on access. Anyhow, the properties will be defined as virtual, and users will still be able to alter the behavior and use their implementations if necessary.Breaking changes:
The common use of this library will remain unchanged. Folks who use custom in-memory evaluators or validators will need to change the way they wire them up.
The text was updated successfully, but these errors were encountered: