Nabs.ActivityFramework
8.0.76
See the version list below for details.
dotnet add package Nabs.ActivityFramework --version 8.0.76
NuGet\Install-Package Nabs.ActivityFramework -Version 8.0.76
<PackageReference Include="Nabs.ActivityFramework" Version="8.0.76" />
paket add Nabs.ActivityFramework --version 8.0.76
#r "nuget: Nabs.ActivityFramework, 8.0.76"
// Install Nabs.ActivityFramework as a Cake Addin #addin nuget:?package=Nabs.ActivityFramework&version=8.0.76 // Install Nabs.ActivityFramework as a Cake Tool #tool nuget:?package=Nabs.ActivityFramework&version=8.0.76
Nabs Activity Framework Library
WARNING: This library is still in development and is not yet ready for use.
The Nabs Activity Framework is base of an opinion that all work done by organisations can be distilled down to a series of activities. These activities, in turn, can be broken down into a series of behaviours - the procedures. The activities are then assembled into workflows. Some activities are simple and can be found repeated across many workflows. Sometimes it is necessary to group workflows into sub-domains.
Here is a simple hierarchy of the framework:
Sub-domain
| Workflow
+-- Activity
+-- Behaviour
Workflow
Workflows are responsible for the following:
- Defining the activities that make up the workflow.
- Holding the workflow state.
- Initialising the workflow state.
- Orchestrating the execution of the activities.
- Persisting the workflow state.
- Raising events.
Activities
Activities are responsible for the following:
- Defining the behaviours that make up the activity.
- Holding the activity state.
- Initialising the activity state.
- Orchestrating the execution of the behaviours.
- Enriching the workflow state.
Behaviours
Behaviours are responsible for the following:
- Collecting information from other activities.
- Transforming the activity state.
- Validating the activity state.
- Projecting information.
- Raising events.
Sub-domains
Sub-domains are responsible for the following:
- Grouping workflows.
Developer Productivity
The framework is designed to increase developer productivity by:
- Providing a consistent way of defining workflows, activities and behaviours across the organisation.
- Providing a consistent way of modelling the state of workflows, activities and behaviours across the organisation.
- Ensuring that there is a clear separation of concerns between data loading/persistence and the business logic.
When the Nabs Activity Framework is combined with the Nabs Activity Sculpting Methodology, organisations will be able to:
- Create a unified language for describing the work that they do.
- Provide clarity on the details.
- Identify commonalities and reduce duplication.
- Adopt a structured approach to the delivery of features and projects.
- Onboard new staff more quickly.
Getting Started
Use the following steps to get started with the Nabs Activity Framework:
- Define your own Activity Sculpting Methodology implementation template.
- Identify the
Activity
you will be modelling and give it a name. E.g. Shopper Registration Activity - Identify the structure of the
Activity State
you are modelling (Properties). - Identify the
Behaviours
that make up eachActivity
(Transform, Validate, Project, Events). - Identify the data sources and destinations that are required for the
Activity
. - Identify the
Events
that are raised by eachBehaviour
.
- Identify the
Here is an example of an Activity Sculpting Methodology implementation template:
Activity: Shopper Registration Activity
Activity State:
- ShopperId
- ShopperName
- ShopperEmail
- ShopperPassword
- ShopperDateOfBirth
- ShopperAddress
- ShopperPhoneNumber
Activity Behaviours:
- Shopper Registration Initialisation Behaviour
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net8.0
- FluentValidation (>= 11.9.0)
- Nabs (>= 8.0.76)
- Nabs.Serialisation (>= 8.0.76)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Nabs.ActivityFramework:
Package | Downloads |
---|---|
Nabs.Scenarios
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
8.0.86 | 131 | 6/10/2024 |
8.0.85 | 117 | 6/9/2024 |
8.0.84 | 120 | 6/9/2024 |
8.0.83 | 123 | 6/3/2024 |
8.0.81 | 126 | 6/3/2024 |
8.0.80 | 136 | 5/23/2024 |
8.0.79 | 152 | 4/21/2024 |
8.0.78 | 145 | 4/21/2024 |
8.0.76 | 112 | 4/21/2024 |
8.0.75 | 111 | 4/20/2024 |
8.0.74 | 109 | 3/28/2024 |
8.0.73 | 124 | 3/28/2024 |
8.0.72 | 111 | 3/27/2024 |
8.0.71 | 128 | 3/15/2024 |
8.0.60 | 134 | 2/8/2024 |
8.0.59 | 109 | 2/3/2024 |
8.0.58 | 110 | 2/3/2024 |
8.0.57 | 108 | 1/31/2024 |
8.0.56 | 113 | 1/31/2024 |
8.0.53 | 112 | 1/27/2024 |
8.0.51 | 109 | 1/27/2024 |