https://github.com/simplify9/sw-primitivetypes
Highly reusable types and base types/interfaces for patterns used by Simplify9
https://github.com/simplify9/sw-primitivetypes
Last synced: 8 months ago
JSON representation
Highly reusable types and base types/interfaces for patterns used by Simplify9
- Host: GitHub
- URL: https://github.com/simplify9/sw-primitivetypes
- Owner: simplify9
- License: mit
- Created: 2020-05-30T09:32:59.000Z (about 6 years ago)
- Default Branch: main
- Last Pushed: 2025-09-16T08:38:35.000Z (9 months ago)
- Last Synced: 2025-09-18T14:00:51.974Z (9 months ago)
- Language: C#
- Homepage:
- Size: 249 KB
- Stars: 8
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# SW.PrimitiveTypes
[](https://dev.azure.com/simplify9/Github%20Pipelines/_build/latest?definitionId=YOUR_DEFINITION_ID&branchName=master)
[](https://www.nuget.org/packages/SimplyWorks.PrimitiveTypes/)
[](https://www.nuget.org/packages/SimplyWorks.PrimitiveTypes/)
[](https://opensource.org/licenses/MIT)
A comprehensive .NET 8.0 library providing foundational building blocks for modern application development. Essential types, interfaces, and patterns for domain-driven design, value objects, messaging, and API development.
## 🚀 Quick Start
```bash
dotnet add package SimplyWorks.PrimitiveTypes
```
## ✨ Key Features
- 🏗️ **Domain Patterns** - Entities, aggregates, specifications, auditing
- 💎 **Value Objects** - `Money`, `Weight`, `Dimensions`, `StreetAddress`
- 🚌 **Messaging** - Bus contracts for pub/sub patterns
- 🎯 **API Handlers** - CQRS interfaces for commands and queries
- 🔧 **Extensions** - Type conversion and utility methods
- ☁️ **Cloud Storage** - File operation abstractions
## � Usage Example
```csharp
// Value Objects
var price = new Money(99.99m, "USD");
var weight = new Weight(2.5m, WeightUnit.kg);
var dimensions = new Dimensions(100, 50, 30, DimensionUnit.cm);
// Domain Entity
public class Product : IAggregateRoot
{
public int Id { get; set; }
public Money Price { get; set; }
public Weight ShippingWeight { get; set; }
}
// API Handler
public class GetProductHandler : IGetHandler
{
public async Task Handle(int id) => /* implementation */;
}
```
## 📚 Complete Documentation
**📖 [View Full Documentation on GitHub](https://github.com/simplify9/SW-PrimitiveTypes)**
For comprehensive guides, examples, and API reference:
- 🏗️ Architecture patterns and best practices
- 📝 Detailed code examples and tutorials
- 🔧 Advanced configuration and usage scenarios
- 🤝 Contributing guidelines and development setup
## 🏛️ Related Packages
Part of the Simplify9 ecosystem:
- **[SimplyWorks.Bus](https://github.com/simplify9/Bus)** - Message bus implementation
- **[SimplyWorks.CqApi](https://github.com/simplify9/CqApi)** - Dynamic API generation
- **[SimplyWorks.Searchy](https://github.com/simplify9/Searchy)** - Search abstraction
- **[SimplyWorks.CloudFiles](https://github.com/simplify9/CloudFiles)** - Cloud storage
## 📄 License
MIT License - see [LICENSE](https://github.com/simplify9/SW-PrimitiveTypes/blob/main/LICENSE) for details.
## 🆘 Support & Contributing
- 🐛 **Issues**: [Report bugs](https://github.com/simplify9/SW-PrimitiveTypes/issues)
- 💬 **Discussions**: [Ask questions](https://github.com/simplify9/SW-PrimitiveTypes/discussions)
- 🤝 **Contributing**: [Contribution guide](https://github.com/simplify9/SW-PrimitiveTypes#contributing)
---
**Made with ❤️ by [Simplify9](https://github.com/simplify9)** | **[Full Documentation →](https://github.com/simplify9/SW-PrimitiveTypes)**