Aaron Stannard — High Optionality Programming: software architectures that reduce technical debt
—
Technical debt is a term dreaded by software developers everywhere, as it means having to pay the price today for the inflexible choices we made yesterday - often compounded by years of subsequent layers of decisions added on top of our original choices.
What if there were a way to make different upfront choices at the inception of our software systems that would lead to more flexible software systems that could evolve at lower cost and less agony? That's what we intend to introduce in this talk: "high optionality programming" - building software systems that preserve future choices and reduce their costs.
In this talk we introduce the concepts and language of high optionality programming, along with some time-tested patterns for implementing it - such as:
1. Prefer event-driven programming over remote procedure calls;
2. Persistence ignorance is bliss, but event-sourcing is better;
3. Command Query Responsibility Segregation;
4. Apply functions over data - decouple stateful domain objects from business rules;
5. Use actors to make systems dynamic, queryable, and recoverable; and
6. Embrace extend-only design on schemas of any kind.
We will be focusing on event-sourcing and CQRS in .NET, Akka.NET, F# and functional programming in C#, and several other combinations of technologies that can help deliver a lower tech-debt future to .NET developers in general.
Скачать презентацию: https://assets.ctfassets.net/9n3x4rtjlya6/C4LzqOTv7PUpTrpKDiUSk/ef8a759d3f1dc6a4e2a86f436bf3dc6d/High_Optionality_Programming_Software_Architectures_that_Reduce_Technical_Debt.pdf
Видео Aaron Stannard — High Optionality Programming: software architectures that reduce technical debt канала DotNext
Technical debt is a term dreaded by software developers everywhere, as it means having to pay the price today for the inflexible choices we made yesterday - often compounded by years of subsequent layers of decisions added on top of our original choices.
What if there were a way to make different upfront choices at the inception of our software systems that would lead to more flexible software systems that could evolve at lower cost and less agony? That's what we intend to introduce in this talk: "high optionality programming" - building software systems that preserve future choices and reduce their costs.
In this talk we introduce the concepts and language of high optionality programming, along with some time-tested patterns for implementing it - such as:
1. Prefer event-driven programming over remote procedure calls;
2. Persistence ignorance is bliss, but event-sourcing is better;
3. Command Query Responsibility Segregation;
4. Apply functions over data - decouple stateful domain objects from business rules;
5. Use actors to make systems dynamic, queryable, and recoverable; and
6. Embrace extend-only design on schemas of any kind.
We will be focusing on event-sourcing and CQRS in .NET, Akka.NET, F# and functional programming in C#, and several other combinations of technologies that can help deliver a lower tech-debt future to .NET developers in general.
Скачать презентацию: https://assets.ctfassets.net/9n3x4rtjlya6/C4LzqOTv7PUpTrpKDiUSk/ef8a759d3f1dc6a4e2a86f436bf3dc6d/High_Optionality_Programming_Software_Architectures_that_Reduce_Technical_Debt.pdf
Видео Aaron Stannard — High Optionality Programming: software architectures that reduce technical debt канала DotNext
Показать
Комментарии отсутствуют
Информация о видео
Другие видео канала
Ольга Щербакова — Open source с точки зрения юристаBest practices для разработки Application LayerИнтервью с Дмитрием ТаболичемАлександр Кузнецов — Введение в Microsoft SignalRИрина Лагерь — Extended events: помощь разработчикам в решении проблем на MS SQL production serverАнтон Нечуговских — Как мы написали свой lock-free dictionaryАлександр Поломодов — Как развиваться, если ты уже Senior Software EngineerАнна Морозова — CosmosDB: использование в реальном проектеАндрей Дятлов — Source generators v2.0 — инкрементальные генераторыЕгор Богатов — Что нового в JIT-компилятореRaffaele Rialdi — Semantic Driven Modeling in distributed systemsДмитрий Нестерук — Черная магия паттерна «Посетитель»Mario Hewardt, Kevin Sheldrake — Sysinternals for LinuxJulie Lerman — EF Core 6: Fulfilling the Bucket ListOren Eini — Architecting a large social network without breaking the bankStephen Toub — Performance Improvements in .NET 6Bartosz Adamczewski — Compilers can be surprisingСтепан Артемьев — SIMD в .NET: Обработка изображений на интринсикахАнтон Оникийчук, Андрей Парамонов — Вы кеши продаете? Нет, просто показываемРоман Неволин — Рефакторим сложный проект в прямом эфире