Newsletter Developpez.com

Inscrivez-vous gratuitement au Club pour recevoir
la newsletter hebdomadaire des développeurs et IT pro

WPF signe-t-il la fin des Windows Forms ?

Le , par vandamme, Membre confirmé
savoir quelle est la politique de Microsoft vis à vis de WPF et WCF par rapport aux Windows Forms et à l'API ADO.NET.
WPF et WCF signent - elles l'arrêt de mort des Windows Forms et de ADO.NET ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de titourock titourock - Membre habitué http://www.developpez.com
le 08/10/2010 à 16:33
Oui l'héritage technique est encore trop utilisé de nos jours (et par des architectes expérimentés en plus...)
Avatar de hegros hegros - Membre Expert http://www.developpez.com
le 08/10/2010 à 19:09
C'est pas non plus si terrible que cela et n'a pas plus de conséquence que cela en fonction des projets et dépend de la taille et des relations des objets.

Cela reste un défaut de qualité interne certes cependant cela n'empêche pas d'avoir une qualité externe acceptable (même si en général une qualité interne mauvaise limite la qualité externe)
Avatar de MetalGeek MetalGeek - Membre confirmé http://www.developpez.com
le 09/10/2010 à 10:52
Salut,

pour les fenêtres héritées, je l'ai déjà fait en passant par une classe abstraite intermédiaire (=> la classe abstraite hérite de Window ou d'une de tes fenêtres personnalisées, et pour la fenêtre dérivée tu auras MyWindow.cs et dans le xaml ça commencera par un truc du genre <local:MyWindowBase x:class=xxx.MyWindow.cs).
Je ne l'ai fait qu'une fois et ne le referai jamais, car même si ça fonctionne c'est tout simplement monstrueux niveau conception !
Pour ton exemple d'import de données, je verrai plutôt une Window basique avec un datatemplateselector si besoin :

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
class A 
{ 
 public string Name{get;set;} 
} 
 
class B : A 
{ 
public string Description {get;set;} 
} 
****** 
<DataTemplate DataType="{x:Type local:A}" x:Key="templateA"> 
    <TextBlock Text="{Binding Name}"/> 
</DataTemplate> 
 
<DataTemplate  DataType="{x:Type local:B}"> 
<StackPanel> 
    <ContentPresenter Content="{Binding}" ContentTemplate="{StaticResource templateA}"/> 
    <TextBlock Text="{Binding Description}"/> 
</StackPanel> 
</DataTemplate> 
 
<
Ce genre de trucs est très efficace avec les interfaces (pas besoin de spécifier le DataTYpe des DataTemplates, et tu peux faire de la composition dans tes contrôles, par ex. quand tu as beaucoup de classes qui implémentent des interfaces à toi dans tous les sens).
Avatar de PocoYote PocoYote - Membre régulier http://www.developpez.com
le 12/10/2010 à 16:14
Oui, à condition de l'utiliser correctement. Et l'utiliser correctement, c'est l'utiiser dans un sens sémantique, et pas pour réutiliser du code (dans ce cas, c'est de l'héritage d'implémentation et on peut le qualifier, le plus souvant, d'erreur de conception).

Oui je comprends. Mais je ne vois pas pourquoi en particulier l'héritage d'une fenêtre n'aurait pas un sens sémantique... (exemple en QT : QDialog => QAbstractPrintDialog => QPrintDialog)

Bon maintenant il faudrait que je me penche sérieusement sur WPF, pour pouvoir comprendre comment contourner le problème (comme ce que me propose MetalGeek).
Avatar de bugland bugland - Membre régulier http://www.developpez.com
le 28/09/2011 à 8:53
Bonjour,

Je déterre le sujet pour relancer le débat.
Nous sommes bientôt en fin d'année 2011 est ce que maintenant il est primordial de se tourner vers WPF par rapport au WInForm ?
Est ce qu'il faudrait même transformer en WPF nos applications existantes winForm ?
Avatar de Bluedeep Bluedeep - Inactif http://www.developpez.com
le 28/09/2011 à 9:05
Citation Envoyé par bugland  Voir le message
Bonjour,

Je déterre le sujet pour relancer le débat.
Nous sommes bientôt en fin d'année 2011 est ce que maintenant il est primordial de se tourner vers WPF par rapport au WInForm ?
Est ce qu'il faudrait même transformer en WPF nos applications existantes winForm ?

Démarrer ex-nihilo un développement sur Winform actuellement est sans doute un choix un peu douteux.

De là à convertir les applications existantes Winform en WPF, hors refonte importante nécessitée par des besoins fonctionnels, il y a un pas; de plus, tu m'expliqueras comment tu justifies cela auprès de ta DSI sur un plan budgétaire, sachant que pour l'instant il n'y a aucun arrêt prévu du support de cette techno.
Avatar de BenoitM BenoitM - Membre expert http://www.developpez.com
le 28/09/2011 à 11:51
Même avis que Bluedeep

Essaye déjà de convaincre la DSI de passer au WPF pour les nouvelles applications
Avatar de bugland bugland - Membre régulier http://www.developpez.com
le 28/09/2011 à 12:03
De toute facon les anciennes applications sont même pas en .net donc faudra les passer en .net mais est ce avantageux de les passer par le même temps en WPF ?
Avatar de BenoitM BenoitM - Membre expert http://www.developpez.com
le 28/09/2011 à 12:16
Si les applications doivent être entièrement refondue alors oui autant les passer en WPF mais si elles ne nécessitent que des adaptations pas forcément

Il faut calculer le cout d'une adaptation à celui d'une recréation:
Cout économique de la migration, avantage que celle-ci peut représenter, potentiel ou non de la maintenant dans l'ancien système (l'application suporte-t-elle les pc récents, trouve-t-on encore du personnelle compétent dans cette technologie, l'application va-t-elle évoluer fortement dans le temps,...)
Avatar de Bluedeep Bluedeep - Inactif http://www.developpez.com
le 28/09/2011 à 12:21
Citation Envoyé par bugland  Voir le message
De toute facon les anciennes applications sont même pas en .net donc faudra les passer en .net mais est ce avantageux de les passer par le même temps en WPF ?

Dans ce cas il s'agit d'une réécriture ("passer" en .net ne veut rien dire), donc d'un nouveau développement.
Avatar de bugland bugland - Membre régulier http://www.developpez.com
le 28/09/2011 à 14:11
Ok, merci pour vos réponses.
Offres d'emploi IT
Analyste SI-métier (H/F)
Société Générale - Ile de France - Val-de-Marne
Technical leader / moe perle (H/F)
Société Générale - Ile de France - Val de Marne
Ingénieur sénior en développement mobile / projet innovation H/F
Safran - Ile de France - Hauts de Seine

Voir plus d'offres Voir la carte des offres IT
Responsable bénévole de la rubrique Microsoft DotNET : Hinault Romaric -