GithubHelp home page GithubHelp logo

hyperstore.core's Introduction

Hyperstore is an in-memory Model Oriented Database written in C# and fully extensible.

It implements many concepts from Domain Driven Design and modeling framework and provides many features such as:

  • In-memory transactional database using hypergraph to store elements and theirs properties,
  • Thread-safe. Concurrent threads can manipulate the database with (ACID : Atomicity, Coherence, Isolation and Durability with adapter) transaction
  • Extensible meta-model describing all the elements of a domain along with validation rules,
  • In-memory multiple domains hosting,
  • Domain Driven Design implementation with automatic event notification,
  • Persistence adapters,
  • Event bus mechanism to collaborate between hyperstore instances,
  • WPF binding including data error notification and calculated property dependencies,
  • Textual domain language definition,
  • Undo/redo manager,
  • Event bus ready

How to use it

Hyperstore is available using nuget as a PCL library (Use hyperstore to find the corresponding package)

A domain must be describe before using it. There are several ways to do that :

  • Code first : Directly by code with schema api
  • Using the DSL Tool designer (available as a nuget package).
  • Using a textual DSL using a specific Visual Studio editor package with syntax highlight, coloring and automatic code generation.

A domain description includes metadata definition for all entities, relationships and theirs properties, validation rules, commands and events.

To use a domain, load the schema definition and create an new domain instance in the main store (Hyperstore).

Then when you create a new entity or relationship, the domain will raise an event for each operations performed.

Consult samples and wiki for documentation

hyperstore.core's People

Contributors

hyperstore avatar malain avatar

Watchers

 avatar

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.