ASP.NET Community Standup - ASP.NET Core Architecture with David Fowler

Поділитися
Вставка
  • Опубліковано 29 вер 2024
  • David Fowler will be giving a deep dive into the architecture of ASP.NET Core.
    Featuring: David Fowler (@DavidFowl), Damian Edwards (@DamianEdwards)
    #Microsoft #Architecture #AspNetCore

КОМЕНТАРІ • 27

  • @Erril_Ferndal
    @Erril_Ferndal 2 роки тому

    Thank you very much guys!! It so amazing to hear how the Microsoft professionals talk about the architecture of the framework we daily use. Thanks! Looking forward to more.

  •  3 роки тому +23

    Great presentation, we need the 2nd part!

    • @leknyzma
      @leknyzma 3 роки тому

      we need a sequel

  • @Kirides
    @Kirides 3 роки тому

    Wow, that source generator looks like it could improve performance by a lot.
    A naked request takes about 2 ms for nothing on my machine,
    i'd imagine if there was less reflection the code could even run in sub 1 ms _with_ actionfilters and their comrades.
    unless they wait for db calls or other equivalent workloads.
    If that could be then combined with a source-generated Json serialization, the code would literally be blazing fast for simple CRUD REST workloads!

  • @AT-oe6by
    @AT-oe6by 3 роки тому +5

    Thank you so much! We're looking forward to the link to used presentation. And perhaps any other resources describing ASP.NET Core architecture...

  • @positronalpha
    @positronalpha 3 роки тому +11

    Damian is a great communicator.

  • @riksvendsenrose5528
    @riksvendsenrose5528 3 роки тому +2

    There was talk about the PP presentations? Any chance of the demo project too?

  • @shreyasjejurkar1233
    @shreyasjejurkar1233 3 роки тому +5

    Just look at David smile at 10:20 . There is lot to learn from him and aspnetcore team!

    • @sps014
      @sps014 3 роки тому +1

      Lol yeah he is genius...

  • @slutmonke
    @slutmonke 3 роки тому +20

    Link to the slides if you don't want to sift through the entire chat replay:
    speakerdeck.com/davidfowl/asp-dot-net-core-architecture-overview

  • @adrianstoica3744
    @adrianstoica3744 3 роки тому +2

    Great talk, would it be possible to link David's power point presentation? I feel there were more nuggets on those slides you guys did not get a chance to go thru

    • @joaofbantunes
      @joaofbantunes 3 роки тому

      I think it's this one: speakerdeck.com/davidfowl/asp-dot-net-core-architecture-overview

  • @_Miguel_Roman_
    @_Miguel_Roman_ 3 роки тому +1

    Excellent talk, thanks for sharing. Please schedule a second part :)

  • @weifengmao
    @weifengmao 2 роки тому

    Followed up from project Houdini to this vid.
    Now that .net 7 is in preview. I Hope the .net team would in .net8 introduces source generator to minimal api.

  • @adinwashere
    @adinwashere 3 роки тому +1

    Why is the team so small?

  • @Gioeufshi
    @Gioeufshi 3 роки тому +1

    3:33 i did not get it

  • @matsedv
    @matsedv 3 роки тому

    Great talk, super interesting 👏

  • @nessitro
    @nessitro 3 роки тому

    Awesome!

  • @positronalpha
    @positronalpha 3 роки тому

    The Startup class with extension methods concept is horrible to work with for anything but throwaway websites. Zero testability, instant spaghetti.

    • @davidfowl
      @davidfowl 3 роки тому +1

      Can you explain that? Why isn't it testable and what exactly do you need to test?

    • @positronalpha
      @positronalpha 3 роки тому +1

      @@davidfowl I will do my best, but bear with me, it's late and I'm typing on my phone.
      A Startup class quickly becomes a mess of mixed concerns. Configuration, registration of services, routing specs, etc. Additional abstractions can help alleviate this, to some degree, but anything other than testing what has been registered with which lifetime is often very hard - how do you assert that AddMvc or some other deep extension method has been called?
      Integration tests have been suggested as the answer when this has been discussed, but integration tests without unit tests is not a good experience - I don't want to have to debug an application to figure out what's wrong.
      To be fair, I'm now reading about IStartupFilter and other bits I've missed that may help us build our way out of the mixed concerns we haven't managed to get away from yet. Original point still stands, though - for anything other than a simple website, a Startup class quickly becomes a maintenance nightmare.

    • @davidfowl
      @davidfowl 3 роки тому +4

      @@positronalpha I think there’s a tendency to over abstract things in object oriented languages like C#. Startup is where coupling is supposed to happen. It’s where you wire up specific implementations of interfaces for the current environment. It’s where you read configuration files and write the logic to make the rest of the application logic clean.
      Unit testing the startup class itself IMO is of little value, but you can if you want to. Some people like verifying that certain registrations were made but since we use extensions methods (anything else would require coupling ASP.NET Core tighter which is something we don’t see the value in).
      That said large enterprise customers love to modularize the startup in various ways that I’ve seen but it’s never perfect, just a different set of trade offs.

    • @ronaldmackee3401
      @ronaldmackee3401 3 роки тому +8

      The Startup class needs to be unit-tested? It's all infrastructure boilerplate code. If something's wrong there, you won't need a unit test to find out.

    • @positronalpha
      @positronalpha 3 роки тому

      ​@@ronaldmackee3401 An example of apparently recommended (since it's a sample from the ASP.NET Core repo) Startup class usage: github.com/dotnet/aspnetcore/blob/master/src/Security/Authentication/samples/SocialSample/Startup.cs
      I see quite a lot of things that can be made to go wrong in interesting ways, which I would not want to figure out using a debugger.