2010-08-19 8 views
1

Dans notre société, nous développons une application qui a un grand nombre de winforms qui sont tous créés dans la même couche d'interface utilisateur, l'espace de noms et l'assemblage. Y a-t-il un moyen décent de concevoir cette couche?Structurer le WinForms dans ma couche de présentation

Notre couche d'interface utilisateur communique avec la couche de gestion qui comprend plusieurs espaces de noms tels que business.calculation et business.logistics. Cette structure peut-elle également être utilisée dans la couche d'interface utilisateur? Ce n'est pas normal de créer plus de 100 winforms dans le même projet winform.

À la votre!

Répondre

0

Oui. Une bonne structure aidera à garder votre santé mentale à mesure que l'applcation se développe. Vous aurez quelques défis:

  1. Identifier les bonnes namespaces
  2. Trouver depdencies entre eux, ce qui se traduit par un ordre de construction logique
  3. Le maintien des espaces de noms que les développeurs ajoutent de nouvelles formes

Par exemple , vous pouvez envisager de regrouper les formulaires en espaces de noms tels que:

business.library.ui - les composants d'interface utilisateur courants et réutilisables peuvent être utilisés ici

business.calculation.ui - interface utilisateur liée au calcul, qui dépend de la bibliothèque UI

business.logistics.ui - interface utilisateur liée à la zone d'activité logistique, qui dépend de la bibliothèque et l'interface utilisateur calcul

+0

Oke merci, cela confirme exactement mes pensées. Je me demandais si je devais utiliser une classe de navigateur chargée de montrer des formulaires provenant d'espaces de noms différents ou si les formulaires devraient simplement avoir des appels directs les uns aux autres. Je peux faire l'image que les formes de l'espace de noms de calcul peuvent ouvrir des formes à partir de l'espace de noms logistique et vice versa, mais cela entraînera des problèmes de référence sans une classe de navigateur. – Lionel

+0

Si vous avez deux assemblys référençant des classes dans l'assemblage de l'autre, vous pouvez envisager de déplacer ces classes dans un assembly de niveau inférieur auquel les deux peuvent accéder. Nous avons plusieurs formes comme celle-ci. –

0

Je trouve plus facile de structurer mes espaces de noms en fonction des sous-systèmes qui composent l'ensemble de l'application, puis d'organiser les espaces de noms pour l'interface utilisateur en fonction des cas d'utilisation.