Skip to content

Latest commit

 

History

History
 
 

Beef.Core

Beef.Core

This is the secondary Assembly that provides the core fundamental capabilities of Beef. The key classes and/or underlying NameSpaces are desribed.


Beef.Business namespace

This provides classes used specifically by the primary domain business logic (see Solution Structure).


Beef.Caching namespace

This provides for basic in-memory Caching capabilities (see CacheCoreBase), and corresponding Policy to flush and/or refresh as required (managed by CachePolicyManager).

The advantages of using memory caching is clearly performance; although, caution is required where the volume of data being cached is significant. Equally, where data must be expired at the same time across caches in the likes of a server farm. Alternates to consider are the likes of Redis.


Events namespace

Provides the basic infrastructure support to support a basic event-driven architecture, through EventPublisherBase and EventData.


Hosting namespace

Providea the TimerHostedServiceBase to standardise the processing of long-running, batch-style, timer-based operations.


Json namespace

Additional capabilities to process JSON, such as JsonEntityMerge and JsonPropertyFilter.


Mapper namespace

Provides the base mapping type converters, and core capabilites for the database mapping. Otherwise, Beef recommends using AutoMapper(https://automapper.org/), and the provided type converters are AutoMapper compatible.


Net namespace

Additional HTTP capabilities, specifically HttpMultiPartRequestReader and HttpMultiPartResponseReader.


RefData namespace

Provides the underlying caching for the reference data. This capability is further described here.


Validation namespace

Provides the key capabilities to enable the rich validation functionality central to Beef. This capability is further described here.


WebApi namespace

Provides the HTTP REST Agent capabilities to standardize the invocation of APIs as an optional data source. The HttpAgentBase is essential to enable.