Skip to content

General set of base classes implementing primitive concepts and useful utilities that are required for all but the basic of libraries and applications.

License

Notifications You must be signed in to change notification settings

PrimalWorks/PrimitiveBase

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

99 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build status NuGet Version Nuget Downloads License Coverage

PrimitiveBase

General set of base classes implementing the primitive concepts and useful utilities that are required for all but the basic of libraries and applications. Core to our approach is Dependency Injection and Unit Testing - all components have be factored to assist developers with both concepts, things like static state have been avoided to ensure injection and parallel testing can take place without any issues.

Currently a few Core base classes are implemented;

  • SafeLock A lockable object that timeouts to prevent potential deadlock situations
  • BaseSyncronised Providing a SyncRoot of SafeLock type for use with using(SyncRoot.Enter()) { ... }
  • BaseDisposable Implements a Disposable pattern for quick and simple use
  • BaseNotifiable Implements INotifyPropertyChanged for use when your classes are using binding
  • PLog A logging framework based on ILogger and ILoggerFactory so you can use your favourite Logger such as NLog, Serilog or log4net

A start to the Networking namespace has been made with;

  • NetAddress Wraps up IPEndPoint with helpful string based construction. This will be used throughout the future networking classes

Further Networking classes will be added once the unit testable wrappers have been created for Socket and SocketAsyncEventArgs

About

General set of base classes implementing primitive concepts and useful utilities that are required for all but the basic of libraries and applications.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages