Nebraska.Code() Sessions tagged c#

Building Great Libraries

“Bad libraries build collections; good libraries build services; great libraries build communities.” Whether you are building a class library containing common functionality to use within your company’s products, a class library for your customers to be able to use your services, or the next great open-source project; you should take great care when building a class library so that it is easy to use and widely adopted. During this session, we will talk about coding standards you should apply, documentation, dependencies, publishing, versioning, and handling breaking changes so that you can build class libraries that developers will enjoy using instead of those they curse at.

Speaker

Chad Green

Chad Green

Director of IT Architecture, Glennis Solutions

File New: Build a Event-Driven Architected Microservice from Scratch

Event-driven microservice architectures provide a versatile approach to designing and integrating complex software systems with independent, encapsulated components. During this session, we will focus on the how by starting with an empty Visual Studio solution and building a complete event-driven architected microservice to solve a real-world problem. You will see firsthand how to design, develop, and deploy a decoupled, encapsulated, responsive, scalable, and independent solution. We’ll talk about potential pitfalls, and you will see how to get around them.

Speaker

Chad Green

Chad Green

Director of IT Architecture, Glennis Solutions

Advanced .NET Testing With In Memory EF and Hosted APIs

Do you want to test all of your Entity Framework queries without setting up a test database? Do you want to test your API without leaving Visual Studio? Do you want to add integration tests to your CI build without adding another library? Do you want to "cheat" and hit 95%+ code coverage? In this talk, I will walk through using the WebApplicationFactory (Microsoft.AspNetCore.Mvc.Testing) library to spin up your API in memory. I will then show how to add an in-memory data connection. Finally, I will pull it all together and show a full integration test.

Speaker

Evan Hennis

Evan Hennis

Software Engineer

Build a Pragmatic Domain-Driven Design and Event Sourcing Application

During this workshop we will collaborate, design, and implement a solution that will result in a working, business-focused, event-driven application in modern C# (dotnet). If you want to be involved from building a solution from scratch this is your opportunity.

We will begin by Event Storming, which is a workshop-based method to quickly find out what is happening, or needs to happen, in the domain of our software application. This means of business-process modeling and requirements engineering will enable us to begin designing our application. Our application will instill Domain-Driven Design concepts so we can bake business logic into our code to be expressive, understandable, and maintainable. We will also utilize CQRS and Event Sourcing to capture state changes and intent, allowing us to make an application that is robust, performance-minded, and observable.

We will discuss how these strategies can reduce business complexity, make our applications far easier to maintain and evolve, and going over the open source software that can make it happen.

If you want to see "real world" development that is focused on the domain and how that translates into powerful, modern, asynchronous software then this is a workshop you do not want to miss.

Note: A code repository will be publicly available to provide a helping hand in interest of time and comprehension so no one is left behind. This course assumes you some knowledge in C#, SQL, and Docker. Working experience in a language comperable to C# like Java could certainly follow along.

Speaker

Erik Shafer

Erik Shafer

Software Engineer, Trility