Giter Site home page Giter Site logo

Comments (5)

guillaumeagile avatar guillaumeagile commented on September 23, 2024 1

Alors, Result/Maybe/Optional ce sont en fait des Monads
Un truc qui peut faire peur mais en fait, super efficace en terme de code et de lisibilité si tu es habitués au lambda expression (mais avec Linq tu en fais déjà)
Il y a une librairie .Net qui possède tous ces éléments et bien suivie par la communauté.
Je l'utilise dans mes projets
https://github.com/louthy/language-ext#option

from hexagonal-architecture-right-way.

guillaumeagile avatar guillaumeagile commented on September 23, 2024 1

Non, juste l'anti pattern c'est d'utiliser les exceptions pour les cas métiers
pour tout ce qui "plantage" du système, il faut laisser les exceptions remonter dans ton filtre
j'aime bien cet article, très complet sur le sujet
https://newdevsguide.com/2022/11/06/exception-anti-patterns-in-csharp/
et le conseil #7
#7: Using Exceptions for Flow Control

from hexagonal-architecture-right-way.

Dashell avatar Dashell commented on September 23, 2024

y'a des trucs très sympa dans ta propo d'archi mais quel dommage d'utiliser les exceptions alors que c'est maintenant reconnu un anti pattern pourquoi tu n'utilises pas un Result/Maybe/Optional ? Tellement plus élégant/efficace (et en performance aussi)

Tu entends quoi par Result/Maybe/Optional ?
Optional si je me trompe pas c'est du java, y'a pas vraiment d'équivalent en .Net

Et tu as des sources qui détaillent/expliquent en quoi c'est un anti pattern ?
ca m'intéresse !

from hexagonal-architecture-right-way.

odinnou avatar odinnou commented on September 23, 2024

Hello, j'ai fait pas mal de recherches et j'avoue ne pas avoir trouvé de ressource qui prouve par A+B que l'utilisation d'un IExceptionFilter en ASP.NET (ou encore un ControllerAdvice + ExceptionHandler en SpringBoot) est un anti-pattern.

D'ailleurs je ne vois pas de contre-indication dans le cas d'une architecture hexagonale, car via cette façon de faire, c'est le driving-adapter qui se charge d'handle (ou non) l'exception soulevée dans les stacks sous-jacentes.

En tout cas, si tu as un article à partager, je suis preneur

from hexagonal-architecture-right-way.

odinnou avatar odinnou commented on September 23, 2024

Merci pour toutes ses réponses
Très instructif, concernant language-ext, j'ai eu une expérience très cool avec vavr en Java et je retrouve bien cette philosophie dans cette lib.

Et en effet si on se fie au simple terme "Exception", l'utiliser à tort et à travers semble en effet un anti-pattern
Je vais voir comment modifier le projet pour en tenir compte.

Encore un grand merci @guillaumeagile !

from hexagonal-architecture-right-way.

Related Issues (1)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.