IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Presentation Foundation Discussion :

Architecture MVVM dans le cadre d'un logiciel ERP


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    IT & ERP Project Manager - Consultant
    Inscrit en
    Octobre 2017
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT & ERP Project Manager - Consultant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 32
    Par défaut Architecture MVVM dans le cadre d'un logiciel ERP
    Bonjour,

    Pour la création de notre logiciel ERP nous utilisons C# (WPF), Entity Framework (DB First, base SQL Server Pro) ainsi que le framework MVVM Light comme base de travail.

    La structure de notre DB est complète, les différentes clés étrangères sont définies pour chaque table. Nos "Models" sont générés par Entity Framework.

    J'aurai aimé avoir votre avis sur la meilleure manière de structurer la couche métier, avec un exemple concret. (ce type de cas se rencontrera dans de nombreux exemples)

    Exemple : Mouvement de stock.

    Le mouvement de stock sera utilisé dans différents modules (entrée en magasin, sortie de magasin, transfert de magasin, inventaire, expéditions, réceptions, ...) mais aura une base commune : il reçoit un paramètre "item" (reprend le code article, le type d'article, et une quantité (qui selon le cas (entrée ou sortie) sera positif ou négatif); il aura pour incidence d'aller modifier certains records (dans la table des stocks), d'en créer d'autre (table de "trace" des mouvements de stock), etc...

    Donc il s'agit d'une fonction assez générique qui sera utilisée dans divers modules (Views) et donc exécutée depuis un grand nombre de View Models.

    Pour éviter la redondance dans l'écriture, nous préférerions ne pas avoir à redéfinir cette fonction dans chaque View Models qui en verrait l'utilité. (Dans certains cas peut-être devront nous l'implémenter différemment mais dans la majorité des cas elle sera utilisable telle quelle).

    Dans le cadre d'une architecture MVVM, où placer ce type de fonctions ?

    Merci d'avance pour votre retour,

  2. #2
    Membre averti
    Homme Profil pro
    IT & ERP Project Manager - Consultant
    Inscrit en
    Octobre 2017
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT & ERP Project Manager - Consultant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 32
    Par défaut
    Personne ?

  3. #3
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 204
    Par défaut
    Bonjour,

    Faire hériter vos ViewModels de cette classe peut-être... ?!

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    un truc qui doit être accessible de partout c'est un truc static, je ne vois pas ce qu'il y a à chercher ...

    au lieu de suivre des patterns il suffit de réfléchir à quelles sont les solutions, les avantages et les inconvénients de chaque
    notre métier n'est pas de recopier bêtement des choses
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre averti
    Homme Profil pro
    IT & ERP Project Manager - Consultant
    Inscrit en
    Octobre 2017
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT & ERP Project Manager - Consultant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 32
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    un truc qui doit être accessible de partout c'est un truc static, je ne vois pas ce qu'il y a à chercher ...

    au lieu de suivre des patterns il suffit de réfléchir à quelles sont les solutions, les avantages et les inconvénients de chaque
    notre métier n'est pas de recopier bêtement des choses
    Oui, l'objet serait static effectivement. nous avons par contre opté pour un framework MVVM en connaissances de cause. Ce que nous souhaitons seulement c'est respecter "au mieux" l'architecture MVVM sans pour autant ne voir qu'elle comme solution à nos soucis. Cet objet faisant partie de la couche "métier", il sera utilisé dans les ViewModels; mais nous trouvions un peu illogique de créer cette classe dans le dossier (espace) ViewModels puisqu'il n'en serait pas un.

    Ma question était simplement (et bêtement si je puis me permettre) de savoir dans quelle "section" de l'architecture, il serait plus logique selon vous de placer cela (ou de manière plus simpliste, dans quel dossier).

    Concernant pour la subtile ( ) pique concernant le fait de "réfléchir et pas bêtement recopier les choses", rien à ajouter

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    soit tu fais un dossier pour le thème gestion des stocks, soit un dossier pour le thème fonctions communes
    et tu peux changer d'avis après dans le pire des cas
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. Commande avec arguments dans une architecture MVVM
    Par johnaliashead dans le forum Silverlight
    Réponses: 7
    Dernier message: 26/07/2010, 16h18
  2. Réponses: 3
    Dernier message: 22/07/2008, 14h07
  3. [MySQL] Utilisation PHP MySQL dans le cadre de l'amélioration d'un logiciel
    Par lince102 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 01/03/2008, 23h14
  4. [XSLT] Utilisation de XML avec PHP dans le cadre d'un site
    Par nicolas66 dans le forum Bibliothèques et frameworks
    Réponses: 15
    Dernier message: 06/11/2005, 22h39
  5. Comment écrire sur une image, dans un cadre ?
    Par Nutrino dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 20/05/2005, 00h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo