this post was submitted on 04 Apr 2024
65 points (98.5% liked)

Rust

5999 readers
23 users here now

Welcome to the Rust community! This is a place to discuss about the Rust programming language.

Wormhole

!performance@programming.dev

Credits

  • The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)

founded 1 year ago
MODERATORS
 

I think I saw this early on, but then forgot about it. Stumbled upon it today, and it actually looks like a cool project. Have anyone any experience of using it for a real or just a toy project?

you are viewing a single comment's thread
view the rest of the comments
[–] Lmaydev@programming.dev 4 points 7 months ago* (last edited 7 months ago) (1 children)

Tbh that's essentially what we do. Just with a mediator between the controller and services. Maybe a better name for it.

[–] sugar_in_your_tea@sh.itjust.works 2 points 7 months ago (1 children)

Ok, so it sounds like our controller is doing the mediator role, and our web framework (with the middleware and whatnot) is doing your controller work.

Our project is in Python with Flask, and Flask + middleware handles general stuff (authentication, parsing headers, etc), which is common for most requests, and then the controller loads the metadata into structures (JSON, query params, etc) with basic validation (ranges, values for enums, etc), and the service takes it from there.

[–] Lmaydev@programming.dev 1 points 7 months ago (1 children)

AspNetCore works very much the same.

The mediator pattern is a little different though. It doesn't talk to the service directly.

The controller creates a request object and passes it to the mediator. The mediator finds the correct handler and invokes it. The result is then returned to the controller.

It essentially completely decouples the controller from the service.

Ah, makes sense. Thanks!