sabl is an open-source project to identify, describe, and implement effective software patterns which solve small problems clearly, can be composed to solve big problems, and which work consistently across many programming languages.
Pattern | Purpose |
---|---|
context | Inject state and dependencies and propagate cancellation signals |
record | Represent a data model at runtime, with no attached behaviors |
txn | Implement transaction workflows agnostic of underlying storage type |
storage pool | Describe lifecycle expectations for pooled connections |
db api | Provide a generic interface around relational databases. |
Name | js/ts | golang | dotnet/c# |
---|---|---|---|
context | @sabl/context | stdlib:context | - |
record | @sabl/record | - | - |
txn | @sabl/txn | - | - |
storage pool | @sabl/storage-pool | - | - |
db api | @sabl/db-api | - | - |
Unless explicitly identified otherwise in the contents of a file, the content in this repository is licensed under the Creative Commons Attribution-ShareAlike 4.0 International license. As summarized in the Commons Deed and strictly defined in the license itself: you may share or adapt this work, provided you give appropriate credit, provide a link to the license, and indicate if changes were made. In addition, you must preserve the original license. For the details and actual legal license, consult the license.
The license of this work is designed for cultural works, not source code. Any source code intended for more than an illustration should be distributed under an appropriate license by including that license in the applicable source code file, or by placing the source code file in another repository with an appropriate license.
© 2022 Joshua Honig. All rights reserved. See LICENSE.