Skip to content

Details

Topic:
Identity Immutability and .NET Interactive Notebooks

Let's talk code.
In fact, let's talk in code.
.NET has a cool new capability that lets us share ideas directly in code. They are called .NET Polyglot Notebooks. I want to try an experiment with you. Let's have a conversation about software design using only code.
The ideas that I'd like to talk about are identity and immutability. Identity is how we say which object we are talking about, from the primary key in a database to the URL in an API. And immutability is the self-imposed constraint that we will not change an object once it's created. These ideas taken together help us make informed decisions about software design and architecture.
Would you like to keep data in sync across databases? Between microservices? On mobile devices? Then you need to think about how you identify objects, and how you allow them to change.
During this discussion, we will be modeling an application using Jinaga.NET. This open-source library is the cornerstone of how I build ASP.NET microservices, Blazor web apps, and MAUI mobile applications.
If you would like to explore a new way of thinking about software, you will love this. But even if you are building apps using traditional ORMs and APIs, you will be able to apply these patterns.

Bio:
Michael Perry
Software is math. Every class is a theorem. The compiler is the proof. And unit tests check our work.
Michael https://michaelperry.net has built upon the works of mathematicians like Marc Shapiro, Pat Helland, and Leslie Lamport to develop a mathematical system for software development. He is the author of "The Art of Immutable Architecture" https://immutablearchitecture.com and the Jinaga https://jinaga.com Immutable runtime. He applies his love of software mathematics at Improving https://improving.com, a trusted partner for agile application development.

This will be recorded and made available soon after. You can find recordings on https://usergroup.tv and https://youtube.com/@tulsadnug

Distributed Systems
Database Development
C#
.NET
Computer Programming

Members are also interested in