Structure Your Golang Service With Layers Like This

แชร์
ฝัง
  • เผยแพร่เมื่อ 1 ก.พ. 2025

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

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

    ► 33% OFF on my Go + HTMX + Templ Course PRESALE 👉bit.ly/3UFruxO
    ► Join my Discord community for free education 👉 discord.com/invite/Ac7CWREe58
    ► Exclusive Lessons, Mentorship, And Videos 👉 www.patreon.com/anthonygg_
    ► 60% OFF on my Golang course 👉 fulltimegodev.com
    Thanks for watching

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

      Hi! Have you thought about uploading your courses to the Udemy platform?

  • @jorgezozaya5049
    @jorgezozaya5049 10 หลายเดือนก่อน +11

    The beauty of channels like this lies in their ability to inspire me as an independent programmer to consistently embrace challenges that stretch beyond my comfort zone. Without access to this incredible wealth of knowledge, navigating such challenges would feel maybe unattainable.

  • @coffeeintocode
    @coffeeintocode 10 หลายเดือนก่อน +2

    Yeah I really like this approach. It makes testing so much easier as well!

  • @esarijal
    @esarijal 10 หลายเดือนก่อน +6

    I want to ask you how to test handler that attached to services? since it is struct, do I have to change it to interface so I can mock them?

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

      Yes, read up on dependency inversion and testing

    • @anthonygg_
      @anthonygg_  10 หลายเดือนก่อน +7

      Better to test the business logic. As the handler is more of the integration part imo

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

      @@anthonygg_ omg this answer blown my mind. I got what you mean, you are correct man, thanks

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

    Is this layering needed if there’s no requirement for multiple transports up front? I’ve used hex arch for a few projects to learn it, and while I get the point, I also see that I’m producing more complex code, without a clear justification. It seems to me that it’s more like something that could be whipped out if needed, not strictly used as a general rule - but you say you „should” abstract things this way. Genuinely curious, not being edgy.

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

    Love your vids Anthony. But the sound is very low on some of the videos I've watched, sometime it's a little bit difficult to hear.

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

    I see the web API as a complete application and I actually call your transportation layer simply the presentation layer of the api (3 layers... presentation layer, business/domain layer, data layer).
    But we achieve the same thing... business layer is separate from the framework we're using.
    I haven't done much Go yet, but I do this in C# all the time. Mainly because Microsoft likes to change frameworks a lot and I like to keep my business code as stable as possible. It should not depend on stuff that might change often.
    Learning Go because I want something simple 😂 I'm getting tired of all the different Microsoft technologies.

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

    Super important to note that this idea is by no means restricted to Go. I write a lot of Rust (btw) and this idea is basically just tower::Service and tower::Layer. The instrumentation is just a service that decorates another service (i.e. Layer). I will say that there is a certain "size" to a problem where these ideas shine. But, I would imagine you agree that this is not a "one size fits all" pattern. Good video

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

      It reflects for all languages

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

      I love the onion/ hexagonal Arch. what you think about it?

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

    Why do you also separate the logging to its own layer?

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

    How is raptor/hollywood going? 🙂I remembered about that the other day

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

    Are these things covered in your Golang course?

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

    I wanted to do hexagon architecture for a.long time
    the problem for me is folder structure