[linq to SQL/WCF/Silverlight] Architecture
Bonjour !
Je suis tombé sur un article très intéressant présentant une architecture WPF/WCF/Linq2SQL
Très intéressant car moi je voulais me faire un mini jeu mmo en Silverlight/WCF/Linq2SQL
mais la je me pose quelques question vis a vis de son architecture...
Déjà il redéfini a chaque fois ses classe modèles avec des data contract et fais la copie dans la couche Bussiness entre ses class modèles et contract.
N'est pas un mauvais choix d'avoir du code en double ? (le pire anti-pattern pour moi) est ce qu'on aurai pas pu faire une interface de contrat et faire que les class modeles implemente cette interface ? mais comment faire car c du code "design" qu'on ne peut pas modifier sous peine de perdre la connection de l'EDI à la base de donnée...
Sa couche business est composé uniquement de CRUD et ses service ne font qu'exposer ce CRUD et le metier se trouve dans la partie cliente. Pour son application cela fonctionne mais pour moi cela poserai un gros problème de fonctionner comme cela car n'importe qui peu faire n'importe quoi si il modifie le client en WPF.
Donc pour moi il n y a que 2 solutions : être totalement sur que le client est bien celui que j ai distribué (mais est ce faisable ? même si je crée du code qui fait cela la personne fait un coup de reflector sur l'appli distribué et hop il peu voir comment cela se passe et l'adapter a un client "pirate") ou alors déplacer le metier de l'appli coté serveur, mais ou le placer ? dans la couche Business a la place de la DAO ? Devant la DAO ?
Sinon je pose une question à part de cette article.
En gros il y aura plusieurs "Pages" (fenetre?onglets?) dans une Page silverlight "mère" du coté du client, est ce que je doit mettre tout le xaml coté silverlight (lourd a téléchargé au début) ou bien est ce que je devrais plutôt envoyer le XAML des "pages" par les WCF ?
J'espère que ces problématiques en intéresseront plus d'un :)
Merci :)