Coder Social home page Coder Social logo

Abbotware

Collection of many utility classes, interfaces, extension methods that have been accumulated over the years.

Build

  • Designed to be DI friendly and container agnostic
  • .NetStandard 2.0 and 2.1 compatible
  • uses nullable checks via C# 8.0
  • Code Coverage via (Coverlet)
  • Coverage Report aggregation via (ReportGenerator)

Abbotware.Core

This assembly has no major dependencies except for Microsoft.Extensions.Logging.Abstractions. The internal components all log to the Microsoft.Extensions.Logging.ILogger interface. For NetStandard2.0 /and NetStandard2.1, additional dependencies have been added only to add in missing features that have been added to later version of .Net.

Abbotware.Interop.{Library}

These assemblies contain interop/wrapper classes around various third-party libraries to encapsulate initialization and logic. Sometimes the are abstracted away as via interfaces

Abbotware.{Feature}

These assemblies contain feature/modules that group a common area. Sometimes these are biased towards a specific implementation and may link to specific Interop assemblies creating an external dependency.
Example. Abbotware.Data is heavily biased towards SQL Server and Entity Framework and depends on Abbotware.Interop.EntityFramework

Abbotware.{Feature}.Using.{Container}

These assemblies contain fluent api / builder syntax to help a feature be registered wuth a specific container. Example: Abbotware.Data.Using.Castle provides many ways to register contexts in castle container.

Base Objects

the following base objects make up the majority of components in this library to provide common and consistent features and behavior

Class Inherits Description
BaseLoggable n/a minimal class with a logger
BaseComponent BaseLoggable adds in disposable, eager and lazy initialization
BaseComponent<TConfiguration> BaseComponent adds in configuration

Interface and Plugins

Many features are implemented as plugins that implement an interface.

An example is: IBinarySerializaton - there are plugins such as DataContractSerializer and XmlSerializer

General interfaces are defined in Abbotware.Core and plugins maybe be in secondary assemblies to allow consumption of only the minimal number of thirdparty nugets in the end project.

Specific Libraries

Library Description
Abbotware.ShellCommand A wrapper library for executing shell commands. Captures standard output/error with timestamps as well as auto-kills processed after a specified timeout
Abbotware.Interop.Iso Enum classes and metadata for the free ISO Standard Codes (see more)
Abbotware.Interop.Aws.Timestream Fluent and POCO based publishers for AWS Timestream (see more)

Abbotware's Projects

abbotware.model2entity icon abbotware.model2entity

Library for mapping public API models to internal data entities including search expressions. This is built on top of Automapper.

arrow-fork icon arrow-fork

Apache Arrow is a cross-language development platform for in-memory data. It specifies a standardized language-independent columnar memory format for flat and hierarchical data, organized for efficient analytic operations on modern hardware. It also provides computational libraries and zero-copy streaming messaging and interprocess communication. Languages currently supported include C, C++, Java, JavaScript, Python, and Ruby.

dotnet-outdated icon dotnet-outdated

A .NET Core global tool to display outdated NuGet packages in a project

enumvalueoptions-grpc-example icon enumvalueoptions-grpc-example

EnumValueOptions-gRPC-Example - https://stackoverflow.com/questions/64353701/how-to-read-enumvalueoptions-from-protobuf-in-c/69877969

flatbuffers icon flatbuffers

FlatBuffers: Memory Efficient Serialization Library

protobuf icon protobuf

Protocol Buffers - Google's data interchange format

reportgenerator icon reportgenerator

ReportGenerator converts coverage reports generated by OpenCover, dotCover, Visual Studio, NCover, Cobertura, JaCoCo, Clover, gcov or lcov into human readable reports in various formats.

snap.core icon snap.core

This repository contains the source code of the core snap

windsor icon windsor

Castle Windsor is a best of breed, mature Inversion of Control container available for .NET

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.