Welcome to Battle
Press space to navigate.
Press left arrow to go back.
Press right arrow to go forward.

Online at https://ignatandrei.github.io/Presentations/Battleprez.html
For download https://ignatandrei.github.io/Presentations/Battle.zip

About me

ignat Andrei Ignat http://msprogrammer.serviciipeweb.ro/

						System.Console.WriteLine("Ignat Andrei");
						System.Console.WriteLine("Battle");							
						  

YouTube 5 minutes .NET and tools : http://bit.ly/5MinTools

Book Making Open Source Component : http://bit.ly/NetOpenSourceComponent

Book Copy Paste from StackOverflow : https://amzn.to/2PQ8EDc

Roslyn Source Code Generators with examples : https://ignatandrei.github.io/RSCG_Examples/

Monthly meetings: https://www.meetup.com/Bucharest-A-D-C-E-S-Meetup/

For notes press S
For print ?print-pdf
For all slides press ESC
We will talk about different technologies in .NET to achieve the same purpose.

DataAccess: EFCore vs Dapper
API: Controllers vs MinimalAPI
CLI : Console App vs ASP.NET Core app
Programming : Records vs Class vs Tuples
OOP: Default Interface methods vs abstract class
Test : XUnit vs MSTest vs NUnit

Data Access

Pro EFCORE Pro Dapper Contra EFCORE Contra Dapper
Pro 1 Pro 1 Contra 1 Contra 1
Pro 2 Pro 2 Contra 2 Contra 2
Pro 3 Pro 3 Contra 3 Contra 3
Pro 4 Pro 4 Contra 4 Contra 4

API

Pro Minimal API Pro Controller Contra Minimal API Contra Controller
Pro 1 Pro 1 Contra 1 Contra 1
Pro 2 Pro 2 Contra 2 Contra 2
Pro 3 Pro 3 Contra 3 Contra 3
Pro 4 Pro 4 Contra 4 Contra 4

CLI

Pro Console App Pro ASP.NET Core app Contra Console App Contra ASP.NET Core app
Pro 1 Pro 1 Contra 1 Contra 1
Pro 2 Pro 2 Contra 2 Contra 2
Pro 3 Pro 3 Contra 3 Contra 3
Pro 4 Pro 4 Contra 4 Contra 4

Csharp

Pro Records Pro Tuples Pro Class Contra Records Contra Tuples Contra Class
Pro 1 Pro 1 Pro 1 Contra 1 Contra 1 Contra 1
Pro 2 Pro 2 Pro 2 Contra 2 Contra 2 Contra 2
Pro 3 Pro 3 Pro 3 Contra 3 Contra 3 Contra 3
Pro 4 Pro 4 Pro 4 Contra 4 Contra 4 Contra 4

OOP

Pro Default Interface methods Pro abstract class Contra Default Interface methods Contra abstract class
Pro 1 Pro 1 Contra 1 Contra 1
Pro 2 Pro 2 Contra 2 Contra 2
Pro 3 Pro 3 Contra 3 Contra 3
Pro 4 Pro 4 Contra 4 Contra 4

Test

Pro XUnit Pro MSTest Pro NUnit Contra XUnit Contra MSTest Contra NUnit
Pro 1 Pro 1 Pro 1 Contra 1 Contra 1 Contra 1
Pro 2 Pro 2 Pro 2 Contra 2 Contra 2 Contra 2
Pro 3 Pro 3 Pro 3 Contra 3 Contra 3 Contra 3
Pro 4 Pro 4 Pro 4 Contra 4 Contra 4 Contra 4

Patterns

Pro UnitOfWork Pro Repository Contra UnitOfWork Contra Repository
Pro 1 Pro 1 Contra 1 Contra 1

Thank you for your time