Skip to content
/ Transit Public

Transit is a framework that allows components to talk to each other similar to how signals and slots work

License

Notifications You must be signed in to change notification settings

jsmug/Transit

Repository files navigation

#Transit

Transit is a framework that allows components to talk to each other similar to how signals and slots work. Using Transit, components can communicate with one or more other components with a minimal amount of code.

####How it works

At its core, Transit is made up of components. A component can have either RouteIn or RouteOut, or both, attributes attached to properties, methods, and events. The communication layer between the components is handled by different route types. Transit supports four different route types:

  • PropertyToPropertyRoute
  • PropertyToMethodRoute
  • EventToPropertyRoute
  • EventToMethodRoute

Transit can also be extended to incorporate other route types. The main container for Transit is the Package object. The Package contains all of the components and routes in use by that Package. The Package is also responsible for registering and unregistering routes.

####Route Converters

Simples scenarios let components talk to each other directly, however, more complex scenarios might have components with different types talking to each other. In these cases Transit uses a RouteConverter. A RouteConverter is the middleman in the route and informs components if their types can be converted, and also automatically does the converting of types when communication happens.

####Controlling Route Registration

Transit employs eight events to help with route registration. These events allow a developer to cancel registration and unregistration, and also to monitor when registration and unregistration occur.

####Using Transit

Please see the example projects in the solution for help using Transit.

#####Documentation

As of now, documentation is minimal. The plan is to get the code documented and then to create a more formal document for the API. Please use the examples in the solution for now as your best source for documentation and example use of the API.

NOTE: Transit is in the early stages of development. This release is stable, but expect some bugs to be present.

About

Transit is a framework that allows components to talk to each other similar to how signals and slots work

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages