Unleashing Clean Architecture in .NET 8 - Jason Taylor - Copenhagen DevFest 2023

Поделиться
HTML-код
  • Опубликовано: 27 сен 2024
  • Unleashing Clean Architecture in .NET 8: Exploring the Clean Architecture Solution Template
    Join us on a captivating exploration of Clean Architecture in the dynamic world of .NET 8. In this session, we deep dive into the Clean Architecture Solution Template, an open-source .NET template that propels solution development to new heights.
    Discover the seamless integration of Angular or React with ASP.NET Core Minimal API, as we guide you through the creation of a new solution. Delve into the template's impressive range of features, including built-in support for validation, mapping, Open API, authentication, testing, CI/CD, and even IaC. With this comprehensive toolkit at your fingertips, you'll gain the ability to build scalable, maintainable, and future-ready applications.
    Whether you're a seasoned .NET developer seeking to elevate your skills or an aspiring architect looking to embrace modern software development principles, this talk provides practical insights and hands-on demonstrations. Join us to unlock the true potential of Clean Architecture in .NET 8, revolutionize your workflow, and create remarkable applications that stand the test of time.

Комментарии • 49

  • @Eamo-21
    @Eamo-21 4 месяца назад +1

    Tremendous amount of value delivered here through this template

  • @billias28
    @billias28 5 месяцев назад

    exceptional work....

  • @vivekkaushik9508
    @vivekkaushik9508 Год назад +1

    Wonderful. Much appreciated.

  • @ucretsiztakipci6612
    @ucretsiztakipci6612 11 месяцев назад

    Good presentation and tool. Well done! The upgrade part is the heart of this template, without that feature too risky.

  • @MuhammadImran-hl5ct
    @MuhammadImran-hl5ct 8 месяцев назад

    This is awesome work. Thanks

  • @filipgrilec5293
    @filipgrilec5293 7 месяцев назад

    Wow. Just wow. Great Work

  • @manuelraso5446
    @manuelraso5446 7 месяцев назад

    What do you think about splitting the Infrastracture in two class libraries:
    - Persistence
    - Infrastracture
    Persistence is dedicated only to the Database, and Infrastracture is dedicated to the storage.
    By the way, great work, would be awesome tho to have a shorter and easier version of that Clean Architecture, like without events, behavrios, and many other things which are not present in most projects, but I guess you introduce what you is useful to you, so it's kinda ok to start from that and maybe each one personalize how he prefers

  • @PGWalkthrough
    @PGWalkthrough 11 месяцев назад +1

    Is there a way to implement your clean architecture as server side application. Is MVC still relevant?

  • @SanjayDwivedi04
    @SanjayDwivedi04 5 месяцев назад

    How EF migration works, could you please little bit explain

  • @EldonElledge
    @EldonElledge Год назад +3

    This is really AWESOME work. This is how projects should be done. Simply AWESOME. I would like to work on this with Vertical Slice architecture.

  • @fr3ddyfr3sh
    @fr3ddyfr3sh Год назад +28

    I really thought this talk is about software architecture 😒

    • @Downicon3
      @Downicon3 Год назад +5

      yeah, more like look at my template

    • @JasonTaylorDev
      @JasonTaylorDev 11 месяцев назад +4

      Sorry for the confusion; this talk is about exploring the Clean Architecture solution template.

    • @dzendras
      @dzendras 11 месяцев назад +2

      The name is a pure click-bait. Not nice.

    • @kortiszallios4524
      @kortiszallios4524 5 месяцев назад +1

      Well, I think this demo by the template author is much more helpful than the boring discussion of Clean Architecture per se.

  • @sambothach6064
    @sambothach6064 8 месяцев назад

    What terminal color theme is this? It makes reading the file structure so much easier? Also what git terminal plugin is he using if anyone knows?

    • @abro7672
      @abro7672 6 месяцев назад

      Most likely he is using ohmyposh (a prompt theme engine), but i dont know what exact theme.

  • @deathlife2414
    @deathlife2414 Год назад +3

    What I want to know is how fast is .net 8 compilation speed and building process is compared to .net 7?

    • @oleggavrilov7083
      @oleggavrilov7083 Год назад +1

      Why?

    • @deathlife2414
      @deathlife2414 Год назад

      @@oleggavrilov7083 b/c for simple application I find the speed slow. I have looked into it compared to other frame works and languages it slower than go c/c++ and other languages. There are other languages which net and c# is faster. The best part of .net and c# it comes with all the tools and abstract away for you and don't have to make server from scratch like go and c++ where they don't come with a pre built server in them.

  • @fieryscorpion
    @fieryscorpion Год назад +20

    It's time to retire Clean Architecture. Way too much boilerplate to do something.
    Let's make software simpler again by embracing Vertical Slice Architecture.

    • @JulianSildenLanglo
      @JulianSildenLanglo Год назад +2

      Maybe I'm wrong, but Boilerplate seems to be the antithesis of Clean Architecture.

    • @EldonElledge
      @EldonElledge Год назад +2

      Agreed. I have recently start using Vertical Slice Architecture. And it really nice to get back to simpler code with much better cohesion while keeping a check on decupling.

    • @fieryscorpion
      @fieryscorpion Год назад +1

      @@JulianSildenLanglo Clean architecture gives me anxiety just looking at those gazillions of abstractions through layers. Takes fun out of development.
      And NO, Boilerplate code IS NOT the antithesis of clean architecture.

    • @Timelog88
      @Timelog88 Год назад

      Well, you can apply Clean Architecture to Vertical Slice architecture as well. But I too find it way to overcomplicated for most projects. While the idea of decoupling is nice, in general this can be simplified by just making sure infrastructure and logic are separated. Personally, I like the idea of A-Frame architecture, where the idea is that Logic and Infra live as peers under the Application layer, making managing dependencies easier. Bonus effect of this is that Logic can be written without side effects (So take out your functional programming hat!).

    • @leakyabstraction
      @leakyabstraction Год назад

      In any good architecture you have to combine verticalization (which is an extremely important concept that arguably goes hand in hand with concepts like Screaming Architecture and feature folders) with some degree of higher level design. Vertical slice architecture is a simple concept that helps to navigate the design and development process of everyday features, and clean architecture is a somewhat more detailed concept that helps to build higher level architectural pieces, in which you can then place your verticalized implementations.
      Also, in a lot of vertical slice implementations (particularly when using MediatR) there is plenty of boilerplate as well :)
      One big, recurring problem in software development is that for some hard to explain reason people always want to use a single tool for everything, they do it until their nose bleeds, and then they start proclaiming that the given tool is a complete abomination, switching to another tool and starting the same process all over again. This was done with OOP, with Clean Code, with microservices, with clean architecture, with DDD, with serverless, etc.

  • @markmd9
    @markmd9 4 месяца назад

    half of the presentation is advertising for azure

    • @eyoo369
      @eyoo369 3 месяца назад

      I mean .NET and Azure go hand in hand. You're building in Microsoft their framework, why not use their hosting service. I think 95% of the .NET devs out there host their shit on Azure and it's for good reasons

  • @wagd
    @wagd Год назад +3

    I'm goning to die on this hill someday... NDC, please distribute your videos in 21:9 format. It doesn't matter for people with 16:9, they either get the branding on top and bottom (with the current distribution) or they get black bars (with 21:9 distribution). But for those of us with 21:9 screens, we get a larger presentation window with 21:9 videos instead of black bars on each side with 16:9.

  • @GirlAteDeath
    @GirlAteDeath Год назад +3

    So you created class and methods that corresponds to each endpoint. Isn't that just a controller? Why would you overcomplicate that with mappers to minimal API if you can just create controllers?

    • @pilotboba
      @pilotboba Год назад +3

      Controllers have overhead than minimal api endpoints don't have.

    • @JasonTaylorDev
      @JasonTaylorDev 11 месяцев назад +2

      I obsessed over how best to organise the endpoints and discussed this during the talk. In short I'm using Minimal API for speed and simplicity and I'm grouping related endpoints into a group file since this seemed to be simple given that each endpoint is very small.

  • @MrMmajeed
    @MrMmajeed Год назад +4

    any plans to add Blazor UI support?

    • @allannielsen4752
      @allannielsen4752 Год назад +3

      jump to the questions at the end for the answer. hint see RapidBlazor repro

  • @MAUIMS-m4g
    @MAUIMS-m4g 3 месяца назад

    excellent, you injected dbContext to application layer in run time without adding reference to infrastructure layer. so no need to repositories.

  • @vinhnguyenquoc2015
    @vinhnguyenquoc2015 Месяц назад

    I have to say Wonderful!!!

  • @ianokay
    @ianokay Год назад +1

    Should the random setup and teardown CLI scripts not be in something more standard like Terraform?

    • @JasonTaylorDev
      @JasonTaylorDev 11 месяцев назад +1

      Yes, I would like to add support for Terraform in addition to Bicep.

    • @sergey5846
      @sergey5846 11 месяцев назад +2

      Bicep is one of the standards when it comes to Azure.

  • @predigr
    @predigr 8 месяцев назад

    Great effort for building that "template". Thanks for sharing your effort to the community. Though it seems pretty advanced.

  • @shchehliuk124
    @shchehliuk124 10 месяцев назад

    where to het such terminal?

  • @tappy8741
    @tappy8741 Год назад +4

    Can we implement really clean architecture by throwing .NET into the bin really really hard? Then kick the bin into mount doom for good measure

    • @fieryscorpion
      @fieryscorpion 9 месяцев назад +2

      WTF are you talking about? Explain.

    • @dvanrooyen1434
      @dvanrooyen1434 5 месяцев назад +2

      Likely a Java dev who loves writing getters and setters in 2024…

    • @tappy8741
      @tappy8741 5 месяцев назад

      @@dvanrooyen1434 Last time I touched java was java 6 and the last time I touched .CRAP was 3.5. Never again

    • @eyoo369
      @eyoo369 4 месяца назад +2

      @@dvanrooyen1434 Most probably yea. The only people I know that hate on .NET come from the old days or are Java devs. Anyone that has used .NET core knows how amazing it is

  • @Andreas-gh6is
    @Andreas-gh6is Год назад +2

    So the dotnet bros always said that C# projects taking at least five times as long and ten times as much code as other languages/frameworks is OK because you get better architecture (that you still want to rewrite every few years, if you can afford it) and now you say finally with C# you can finally achieve "clean architecture"?

  • @gustaveckt
    @gustaveckt 9 дней назад

    This is wonderful, Great and awesome work. Thanks you so much :)