J'ai un service WCF et une application client WPF, construite à l'aide du modèle MVVM. Le service WCF référencé permet au client WPF de manipuler des contrats qui décrivent les données qui peuvent être envoyées et reçues du service.Contrats WCF et modèles dans un client MVVM
Exemple contrat, défini côté service:
[DataContract()]
public class UserContract : BaseContract
{
[DataMember()]
public string UserName { get; set; }
[DataMember()]
public string FirstName { get; set; }
}
Si je considère les contrats établis dans le cadre du niveau du modèle de mon application MVVM, ce qui devrait être la relation entre ces contrats et les classes de modèle de mon Modèle Tier? (Exemples de code du côté client)
1. Héritage? Les modèles héritent des contrats.
public class UserModel : UserContract
2. Composition? Les modèles contiennent une instance du contrat correspondant.
public class UserModel
{
public UserContract userContract {get;set;}
}
3. Ajout? Les contrats étant déclarés Partiels, je pourrais simplement "compléter" les contrats, et les utiliser directement comme mes classes de modèles.
public partial class UserContract
{
}
@decyclone: Vous voulez dire une quatrième option: Séparation - Contrat sont utilisés pour construire le modèle sur receivings, les modèles sont utilisés pour construire des contrats sur les envois, par le biais d'autres objets (Référentiels/usines) sans lien gardé pendant d'autres tâches? – Matthieu
@decyclone: Compte tenu de vos modifications, vous proposez de conserver entièrement le calque de modèle du côté service, étant "scellé" pour le client? – Matthieu
Non, il devrait être un ensemble partagé à la fois par le service et le client. – decyclone