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

แชร์
ฝัง
  • เผยแพร่เมื่อ 29 ก.ย. 2023
  • 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.
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 46

  • @TheEamonKeane
    @TheEamonKeane 2 หลายเดือนก่อน +1

    Tremendous amount of value delivered here through this template

  • @vivekkaushik9508
    @vivekkaushik9508 10 หลายเดือนก่อน +1

    Wonderful. Much appreciated.

  • @EldonElledge
    @EldonElledge 10 หลายเดือนก่อน +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.

  • @ucretsiztakipci6612
    @ucretsiztakipci6612 9 หลายเดือนก่อน

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

  • @predigr
    @predigr 6 หลายเดือนก่อน

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

  • @filipgrilec5293
    @filipgrilec5293 5 หลายเดือนก่อน

    Wow. Just wow. Great Work

  • @MuhammadImran-hl5ct
    @MuhammadImran-hl5ct 6 หลายเดือนก่อน

    This is awesome work. Thanks

  • @billias28
    @billias28 3 หลายเดือนก่อน

    exceptional work....

  • @PGWalkthrough
    @PGWalkthrough 9 หลายเดือนก่อน +1

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

  • @user-ls1ge5jd9g
    @user-ls1ge5jd9g 28 วันที่ผ่านมา

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

  • @manuelraso5446
    @manuelraso5446 5 หลายเดือนก่อน

    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

  • @MrMmajeed
    @MrMmajeed 10 หลายเดือนก่อน +4

    any plans to add Blazor UI support?

    • @allannielsen4752
      @allannielsen4752 10 หลายเดือนก่อน +3

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

  • @ianokay
    @ianokay 10 หลายเดือนก่อน +1

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

    • @JasonTaylorDev
      @JasonTaylorDev 9 หลายเดือนก่อน +1

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

    • @sergey5846
      @sergey5846 9 หลายเดือนก่อน +2

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

  • @shchehliuk124
    @shchehliuk124 8 หลายเดือนก่อน

    where to het such terminal?

  • @sambothach6064
    @sambothach6064 6 หลายเดือนก่อน

    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 4 หลายเดือนก่อน

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

  • @GirlAteDeath
    @GirlAteDeath 9 หลายเดือนก่อน +2

    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 9 หลายเดือนก่อน +3

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

    • @JasonTaylorDev
      @JasonTaylorDev 9 หลายเดือนก่อน +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.

  • @SanjayDwivedi04
    @SanjayDwivedi04 3 หลายเดือนก่อน

    How EF migration works, could you please little bit explain

  • @deathlife2414
    @deathlife2414 10 หลายเดือนก่อน +3

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

    • @oleggavrilov7083
      @oleggavrilov7083 9 หลายเดือนก่อน +1

      Why?

    • @deathlife2414
      @deathlife2414 9 หลายเดือนก่อน

      @@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.

  • @fr3ddyfr3sh
    @fr3ddyfr3sh 10 หลายเดือนก่อน +28

    I really thought this talk is about software architecture 😒

    • @Downicon3
      @Downicon3 10 หลายเดือนก่อน +5

      yeah, more like look at my template

    • @JasonTaylorDev
      @JasonTaylorDev 9 หลายเดือนก่อน +4

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

    • @dzendras
      @dzendras 8 หลายเดือนก่อน +2

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

    • @kortiszallios4524
      @kortiszallios4524 3 หลายเดือนก่อน +1

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

  • @fieryscorpion
    @fieryscorpion 10 หลายเดือนก่อน +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 10 หลายเดือนก่อน +2

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

    • @EldonElledge
      @EldonElledge 10 หลายเดือนก่อน +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 9 หลายเดือนก่อน +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 9 หลายเดือนก่อน

      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 9 หลายเดือนก่อน

      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 2 หลายเดือนก่อน

    half of the presentation is advertising for azure

    • @eyoo369
      @eyoo369 หลายเดือนก่อน

      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 9 หลายเดือนก่อน +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.

  • @tappy8741
    @tappy8741 10 หลายเดือนก่อน +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 7 หลายเดือนก่อน +2

      WTF are you talking about? Explain.

    • @dvanrooyen1434
      @dvanrooyen1434 3 หลายเดือนก่อน +2

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

    • @tappy8741
      @tappy8741 2 หลายเดือนก่อน

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

    • @eyoo369
      @eyoo369 2 หลายเดือนก่อน +1

      @@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 10 หลายเดือนก่อน +1

    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"?