Software Architecture in Golang: Anti-Corruption Layer Pattern

  Рет қаралды 4,303

Mario Carrion

Mario Carrion

Күн бұрын

Пікірлер: 7
@MarioCarrion
@MarioCarrion 2 жыл бұрын
*Blog post* mariocarrion.com/2022/05/06/golang-software-architecture-anti-corruption-layer-pattern.html *Software Architecture and System Design in Go* kzbin.info/aero/PL7yAAGMOat_GCd12Lrv_evJ3Zhv1dl8B- *All playlists* kzbin.infoplaylists
@BoosterShot1010
@BoosterShot1010 2 жыл бұрын
Great content!, it would be greatly appreciated too if you could make a series on web development in go.
@MarioCarrion
@MarioCarrion 2 жыл бұрын
Thanks. I'm working on creating a GraphQL series, I do have a REST one already but it's not as guided/step-by-step as the new series.
@guhkunpatata3150
@guhkunpatata3150 2 жыл бұрын
i have some questions : 1. why use "country" as the input param ? 2. why make Fahrenheit and Kelvin code different when it will return the same thing ? func kelvin is more to the point than fahrenheit.
@MarioCarrion
@MarioCarrion 2 жыл бұрын
I'm glad you left this comment because clearly the example needs a bit more of background, I added a README to the repo to give more context. 1. In summary we are building a system the returns temperature for different countries where our domain uses Celsius; we are re-using two existing third party APIs that provide values for some other countries we don't have access to. Therefore using "country" as the input for those APIs makes sense. 2. Both "kelvin" and "fahrenheit" packages represent third party party APIs that somebody else implemented already; we are reusing them but they have different domain model; sure they return the "same type" (float64) but the values returned are not compatible with our domain.
@glenospace
@glenospace 2 жыл бұрын
Your toy examples make no sense conceptually. Calculate(country), what are you on about. Please consider making your toys more natural when explaining concepts.
@MarioCarrion
@MarioCarrion 2 жыл бұрын
You're totally right! Both packages ("fahrenheit" and "celcius") are not well written, that was the intention and that's why this pattern is useful in those cases.
Using Code First to build Web APIs using Swagger 2.0 in Golang
19:12
Software Architecture in Golang: Orchestrator Pattern
13:07
Mario Carrion
Рет қаралды 6 М.
人是不能做到吗?#火影忍者 #家人  #佐助
00:20
火影忍者一家
Рет қаралды 20 МЛН
Can an "Anti-Corruption Layer" save your bad software architecture?
7:37
Software Developer Diaries
Рет қаралды 3 М.
Microservices with Databases can be challenging...
20:52
Software Developer Diaries
Рет қаралды 109 М.
Golang: The Last Interface Explanation You'll Ever Need
17:58
Flo Woelki
Рет қаралды 24 М.
Software Architecture in Golang: Externalized Configuration Pattern
11:35
Hexagonal Architecture In Golang!?  - Full Structure Example
10:27
5 Levels of Go Error Handling
19:13
RageCageCodes
Рет қаралды 14 М.
Advanced Golang: Generics Explained
13:37
Code With Ryan
Рет қаралды 69 М.