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

ASP.NET Discussion :

Quel pattern choisir pour une architecture multi-site?


Sujet :

ASP.NET

  1. #1
    Membre habitué
    Inscrit en
    Mai 2006
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 397
    Points : 130
    Points
    130
    Par défaut Quel pattern choisir pour une architecture multi-site?
    Bonsoir!

    Je me pose la question suivante: dans une solution que je developpe, je souhaite proposer 3 versions (2 online et une offline).

    J'ai fais l'erreur de me lancer dans le projet tête baissée, et au fur à mesure que j'avance, je me rend compte que ça va être impossible de maintenir et de faire évoluer mes 3 solutions.

    J'ai pensé au modèle MVC, puis de créer un répertoire à la racine pour mes 3 différentes solutions. Je peux comme ça les faires évoluer indépendamment. Le seul problème c'est qu'en faite les fonctions de la solution la plus basique sont également utilisé dans les 2 autres solutions plus complexe. Je ne sais donc pas vers quoi m'orienter ou si mon idée est bonne et fonctionne avec MVC.

    Le seul point dont je suis normalement sur, c'est qu'il y aura 3 bases de données: 1 pour chaque solution, ceci afin de ne pas avoir de problèmes de performances en cas de sollicitations.

    Merci pour votre aide!

    L.

  2. #2
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Salut,

    Je comprend pas bien ton problème...

    3 versions d'une application = 2 online + 1 offline. Pourquoi 2 online? C'est quoi la solution basique? Pourquoi 3 bases de données?

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  3. #3
    Membre habitué
    Inscrit en
    Mai 2006
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 397
    Points : 130
    Points
    130
    Par défaut
    Citation Envoyé par Immobilis Voir le message
    Salut,

    Je comprend pas bien ton problème...

    3 versions d'une application = 2 online + 1 offline. Pourquoi 2 online? C'est quoi la solution basique? Pourquoi 3 bases de données?

    A+
    Salut. 2 online, parce que 1 sera gratuite, et l'autre payant (fonctionnalité supplémentaire).

    Pour les bases de données, j'ai pensé à des bases indépendantes pour chaque solution pour ne pas surcharger trop les bases à partir du moment ou j'atteindrais un certains nombre d'utilisateurs. Est-ce que ce n'est pas la meilleure solution?

    Merci

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 205
    Points : 206
    Points
    206
    Par défaut
    Voici mon opinion, sans connaitre le vrai contenu du projet:

    Citation Envoyé par Leelith Voir le message
    Salut. 2 online, parce que 1 sera gratuite, et l'autre payant (fonctionnalité supplémentaire).
    Pourquoi ne pas simplement faire un système de compte "prenium" (comme le font beaucoup de sites) donnant accès a plus de section dans le site? Cela éviterait de coder le site en double.

    Concernant la version offline, quelle est la techno utilisée?

    Je ne vois pas l'intérêt de faire une BDD pour la version offline:
    -soit tu es vraiment offline et donc l'appli ne se connectera pas a la bdd
    -soit tu veux dire par la "client lourd" et peut etre qu'une bdd commune avec l'autre version serait une bonne chose pour permettre aux utilisateur de passer d'une version a l'autre facilement

    Personnellement, j'aurais tendance a faire 2 version avec une seule BDD, mais après tout dépend du projet.....

  5. #5
    Membre habitué
    Inscrit en
    Mai 2006
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 397
    Points : 130
    Points
    130
    Par défaut
    Citation Envoyé par julien_iz Voir le message
    Voici mon opinion, sans connaitre le vrai contenu du projet:



    Pourquoi ne pas simplement faire un système de compte "prenium" (comme le font beaucoup de sites) donnant accès a plus de section dans le site? Cela éviterait de coder le site en double.

    Concernant la version offline, quelle est la techno utilisée?

    Je ne vois pas l'intérêt de faire une BDD pour la version offline:
    -soit tu es vraiment offline et donc l'appli ne se connectera pas a la bdd
    -soit tu veux dire par la "client lourd" et peut etre qu'une bdd commune avec l'autre version serait une bonne chose pour permettre aux utilisateur de passer d'une version a l'autre facilement

    Personnellement, j'aurais tendance a faire 2 version avec une seule BDD, mais après tout dépend du projet.....
    Pour la version Premium, ça ne pose pas trop de contrainte de devoir à chaque fois vérifier si l'utilisateur est premium ou pas pour avoir droit à certaines fonctions? Si ça ne pose pas de problème, dans ce cas je peux faire également pareil pour ma version off-line (qui est cencée avoir plus de fonctionnalités).

    ça ne risque pas de poser trop de problème que d'avoir mes deux versions online qui tourne sur la même base? C'était plus pour décharger l'utilisatio de la base de donnée que j'avais pensé à faire une solution par base de donnée.

    En faite, par offline je voulais dire en intranet ^^ donc la technologie utilisée serait c# asp.net

  6. #6
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    ok, donc tu as 3 sites web avec 3 niveaux de fonctionnalité différente...qui doivent acceder a trois bases de donnees...mais qui sont en fait un seul site avec des niveaux d'acces differents ?

    Ce serait bcp plus simple d'avoir un seul site, avec une gestion de droits d'acces, genre 3 groupes (standard, premium, admin), et des niveaux d'acces differents...

    ça ne pose pas trop de contrainte de devoir à chaque fois vérifier si l'utilisateur est premium ou pas pour avoir droit à certaines fonctions?
    ca coute peanuts ...et tu as deja des mécanismes tout faits dans le framework...

    ça ne risque pas de poser trop de problème que d'avoir mes deux versions online qui tourne sur la même base? C'était plus pour décharger l'utilisatio de la base de donnée que j'avais pensé à faire une solution par base de donnée.
    Personnelement, je pense que ta solution est mauvaise...dans le sens ou il faut gerer le passage des utilisateurs de la version standard a premium, et la gestion des deux comptes par les admins (si j'ai bien compris ton pb...), ca rajoute de la complexite de facon inutile.

    Il vaut mieux partir d'une base unique, que tu optimise comme il faut, quitte a faire une repartition de la charge en faisant un cluster de bases...ceci dit, je connais des sites qui gerent quelques dizaine de milliers d'utilisateurs quotidiens avec une seule base de donnees, alors avant de planifier le split de tes bases, commence par une seule base, et vois si tu es bloque

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  7. #7
    Membre habitué
    Inscrit en
    Mai 2006
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 397
    Points : 130
    Points
    130
    Par défaut
    Citation Envoyé par Philippe Vialatte Voir le message
    ok, donc tu as 3 sites web avec 3 niveaux de fonctionnalité différente...qui doivent acceder a trois bases de donnees...mais qui sont en fait un seul site avec des niveaux d'acces differents ?

    Ce serait bcp plus simple d'avoir un seul site, avec une gestion de droits d'acces, genre 3 groupes (standard, premium, admin), et des niveaux d'acces differents...


    ca coute peanuts ...et tu as deja des mécanismes tout faits dans le framework...



    Personnelement, je pense que ta solution est mauvaise...dans le sens ou il faut gerer le passage des utilisateurs de la version standard a premium, et la gestion des deux comptes par les admins (si j'ai bien compris ton pb...), ca rajoute de la complexite de facon inutile.

    Il vaut mieux partir d'une base unique, que tu optimise comme il faut, quitte a faire une repartition de la charge en faisant un cluster de bases...ceci dit, je connais des sites qui gerent quelques dizaine de milliers d'utilisateurs quotidiens avec une seule base de donnees, alors avant de planifier le split de tes bases, commence par une seule base, et vois si tu es bloque
    Citation Envoyé par Philippe Vialatte Voir le message
    ok, donc tu as 3 sites web avec 3 niveaux de fonctionnalité différente...qui doivent acceder a trois bases de donnees...mais qui sont en fait un seul site avec des niveaux d'acces differents ?
    Exactement.

    Citation Envoyé par Philippe Vialatte Voir le message
    ca coute peanuts ...et tu as deja des mécanismes tout faits dans le framework...
    Ca, c'est la nouvelle dont j'avais besoin

    Citation Envoyé par Philippe Vialatte Voir le message
    ok, donc tu as 3 sites web avec 3 niveaux de fonctionnalité différente...qui doivent acceder a trois bases de donnees...mais qui sont en fait un seul site avec des niveaux d'acces differents ?

    Ce serait bcp plus simple d'avoir un seul site, avec une gestion de droits d'acces, genre 3 groupes (standard, premium, admin), et des niveaux d'acces differents...


    ca coute peanuts ...et tu as deja des mécanismes tout faits dans le framework...
    Si tu as plus d'informations là-dessus, je prend volontiers

    Tu as effectivement raison dans le cas du transfère d'utilisateurs, c'est dailleurs un des problèmes que j'avais déjà pensé.

    Citation Envoyé par Philippe Vialatte Voir le message
    Il vaut mieux partir d'une base unique, que tu optimise comme il faut, quitte a faire une repartition de la charge en faisant un cluster de bases...ceci dit, je connais des sites qui gerent quelques dizaine de milliers d'utilisateurs quotidiens avec une seule base de donnees, alors avant de planifier le split de tes bases, commence par une seule base, et vois si tu es bloque
    C'est possible de faire pareil avec SQL Server Express? Je n'ai aucune idée des fonctionnalités et possibilité en terme de performance mise à disposition pour SQL Server Express.

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 205
    Points : 206
    Points
    206
    Par défaut
    La version express de sql server limite le nombre de connexion simultanée me semble-t-il.

    Après, rien ne t'empêche d'utiliser un autre SGBD (par rapport a ce que tu as dit jusqu'à maintenant)

  9. #9
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Points : 1 521
    Points
    1 521
    Par défaut
    Je ne crois pas que SQL Server Express limite le nombre de connexions simultannées. Par contre, il limite la taille de la base (4 Go), la taille de la mémoire vive utilisable (1 Go, ce qui va pénaliser les performances dès que la base fait plus 1 Go) et l'utilisation du processeur à un seul processeur (un seul core pour les dual-quad core ce qui pénalise les performances en cas de nombreux accès concurrents).

  10. #10
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    Si tu es inquiet de la montée en charge de ton appli, oublie la version express ...une base de 4Go, l'aitr de rien, sur une appli un peu utilisée, on peut y arriver très vite...

    Tu peux passer à la version pro, ce qui t'enlèverait ces limitations, ou à du MySQL, ce qui serait gratos (mais pas completement sans consequences cote dev...)

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  11. #11
    Membre habitué
    Inscrit en
    Mai 2006
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 397
    Points : 130
    Points
    130
    Par défaut
    J'ai jetté un coup d'oeil aux prix je ne peux pas me permettre d'acheter une licence enterprise. Je suis pour l'instant à mon compte, et comme mon business n'est pas encore lancé et que je débute, je ne peux pas supporter un coup comme ça même en ayant un emploi à côté :/ (http://www.microsoft.com/sqlserver/2...s/pricing.aspx)

    Du côté d'Access, ce n'est pas assez performant

  12. #12
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    Pas access....MySQL

    Après, charge a toi de coder proprement pour que ton appli ne soit pas fortement couplée à la base de données

    Dans le pire des cas, commence avec SQL Express, si tu arrives aux limites, passe a MySQL, et si tu arrives aux limites....bah la, si tu arrives aux limites de MySQL, c'est que tu aura de toute façon plein de clients

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  13. #13
    Membre habitué
    Inscrit en
    Mai 2006
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 397
    Points : 130
    Points
    130
    Par défaut
    Citation Envoyé par Philippe Vialatte Voir le message
    Pas access....MySQL

    Après, charge a toi de coder proprement pour que ton appli ne soit pas fortement couplée à la base de données

    Dans le pire des cas, commence avec SQL Express, si tu arrives aux limites, passe a MySQL, et si tu arrives aux limites....bah la, si tu arrives aux limites de MySQL, c'est que tu aura de toute façon plein de clients
    Access n'est pas performant?

    Et pour MySQL, ce n'est pas trop compliqué de l'utiliser avec c# asp.net?

    Sinon pour le codage de la base de données, je pensais faire une classe qui en faite contient les methodes d'accès à la base de donnée. Dans un autre fichier config j'aurais la base sélectionnée, et en fonction de la base, ça appelle tel ou tel requête de connexion (vu que le langage SQL ne change pas). Je sais plus si ça s'appelle un wrapper ou un mapping object, mes cours d'UML et de programmation sont loins

  14. #14
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    Citation Envoyé par Leelith Voir le message
    Access n'est pas performant?
    A eviter pour un developpement pro

    Et pour MySQL, ce n'est pas trop compliqué de l'utiliser avec c# asp.net?
    Pas vraiment plus difficile qu'une autre base de données, grace a la magie des providers

    Sinon pour le codage de la base de données, je pensais faire une classe qui en faite contient les methodes d'accès à la base de donnée.
    Si tu n'as qu'une expérience limité en .Net (ce qui semble etre le cas), je te conseille fortement de te documenter un peu sur l'existant en terme d'ORM, sinon, tu as...allez, a peu pres 90% de chance de te planter la premiere fois, et de ne réussir à faire qq chose qui ne tienne la route qu'au bout de plusieurs essais longs et douloureux (et, oui, je parle d'experience )

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  15. #15
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Salut,

    J'ai quelques exemples de code en 3 tiers totalement indépendants du fournisseur de données. En résumé, il faut travailler avec des procédures stockées et des interfaces: http://dotnet.developpez.com/faq/asp...onet_procstock

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  16. #16
    Membre habitué
    Inscrit en
    Mai 2006
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 397
    Points : 130
    Points
    130
    Par défaut
    Citation Envoyé par Philippe Vialatte Voir le message
    A eviter pour un developpement pro


    Pas vraiment plus difficile qu'une autre base de données, grace a la magie des providers


    Si tu n'as qu'une expérience limité en .Net (ce qui semble etre le cas), je te conseille fortement de te documenter un peu sur l'existant en terme d'ORM, sinon, tu as...allez, a peu pres 90% de chance de te planter la premiere fois, et de ne réussir à faire qq chose qui ne tienne la route qu'au bout de plusieurs essais longs et douloureux (et, oui, je parle d'experience )
    J'ai regardé un peu, j'ai vu qu'il y a un framework iBatis qui fait ça, mais si tu dis que .Net fait déjà ça, est-ce que tu peux me dire quels classes de .Net effectue ce même job? Par contre, je ne suis pas sûr que ça resolve le problème de dépendance à une base de donnée, non?

    @Immobilis: Si tu as des exemples un peu plus concret, je prend volontiers

  17. #17
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    Citation Envoyé par Leelith Voir le message
    J'ai regardé un peu, j'ai vu qu'il y a un framework iBatis qui fait ça, mais si tu dis que .Net fait déjà ça, est-ce que tu peux me dire quels classes de .Net effectue ce même job? Par contre, je ne suis pas sûr que ça resolve le problème de dépendance à une base de donnée, non?
    Tu n'as pas de "classes" qui fassent de l'ORM en.Net, mais tu as du choix...

    Tu as effectivement Ibatis, mais aussi NHibernate, Linq To SQL, Entity Framework, LLBLGEN, Subsonic, et une belle quantité d'autres...

    Le choix qu'il te faut faire, c'est principalement en terme de tes besoins de fonctionnalités avancées ou pas, typiquement NHibernate peut tout faire, mais est plus long a apprendre, EF, c'est à peu prés pareil, Linq To SQL, LLBLGEN ou Subsonic sont plus simples, mais atteignent leurs limites pour des domaines métiers ou des bases de données complexes

    Pour le probleme de dependances à la db, la plupart des ORM te permettent d'écrire qq chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    IList cats = sess.CreateCriteria(typeof(Cat))
        .Add( Expression.Like("Name", "Fritz%") )
        .Add( Expression.Between("Weight", minWeight, maxWeight) )
        .List();
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ProductCollection products = new ProductCollection()
             .Where(Product.Columns.Color, "red")
             .Load();
    ...après, en fonction du fournisseur courant, il vont te générer une requête selon le format de ta base de données, ce qui te permets une certaine indépendance

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  18. #18
    Membre actif
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 205
    Points : 206
    Points
    206
    Par défaut
    Citation Envoyé par Philippe Vialatte Voir le message
    Tu as effectivement Ibatis, mais aussi NHibernate, Linq To SQL, Entity Framework, LLBLGEN, Subsonic, et une belle quantité d'autres...
    Microsoft semble privilégier linq to entities par rapport a linq to sql pour le futur ;-)

  19. #19
    Membre habitué
    Inscrit en
    Mai 2006
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 397
    Points : 130
    Points
    130
    Par défaut
    Citation Envoyé par Philippe Vialatte Voir le message
    Tu n'as pas de "classes" qui fassent de l'ORM en.Net, mais tu as du choix...

    Tu as effectivement Ibatis, mais aussi NHibernate, Linq To SQL, Entity Framework, LLBLGEN, Subsonic, et une belle quantité d'autres...

    Le choix qu'il te faut faire, c'est principalement en terme de tes besoins de fonctionnalités avancées ou pas, typiquement NHibernate peut tout faire, mais est plus long a apprendre, EF, c'est à peu prés pareil, Linq To SQL, LLBLGEN ou Subsonic sont plus simples, mais atteignent leurs limites pour des domaines métiers ou des bases de données complexes

    Pour le probleme de dependances à la db, la plupart des ORM te permettent d'écrire qq chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    IList cats = sess.CreateCriteria(typeof(Cat))
        .Add( Expression.Like("Name", "Fritz%") )
        .Add( Expression.Between("Weight", minWeight, maxWeight) )
        .List();
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ProductCollection products = new ProductCollection()
             .Where(Product.Columns.Color, "red")
             .Load();
    ...après, en fonction du fournisseur courant, il vont te générer une requête selon le format de ta base de données, ce qui te permets une certaine indépendance
    J'aime bien partir sur une bonne base. Je ne pense pas que j'aurais besoin d'un gros framework pour l'instant, parce que ma base de donnée n'est pas très complexe pour le même: un maximum de 10 tables actuellement.

    Selon toi, quel framework m'apporterais plus de faciliter si je dois changer vers un framework plus grand, si plus tard pour les raisons que tu cite je rencontre des problèmes?

    @julien_iz: c'est quoi la difference entre Link to SQL et to Entity?

  20. #20
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Il y a beaucoup de façons de bien faire et de mal faire. Il y a aussi pas mal de nouveautés. Un bon principe est de découpler au maximum toutes les parties de ton code. C'est-à-dire faire en sorte qu'il y ait le moins de dépendances possibles. Cela est quelque chose de constant. C'est pour cela qu'il est déconseillé de mélanger du code pour récupérer des données avec une interface homme machine par exemple.

    Je suis peut-être d'une vieille école mais je suis assez partisant de l'architecture multi-tiers. Elle permet de faire beaucoup de choses. Tu devrais lire ce post: http://www.developpez.net/forums/d24...multi-couches/

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

Discussions similaires

  1. Quel SGBDR choisir pour une petite application
    Par malikoo dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 06/05/2007, 13h59
  2. Réponses: 5
    Dernier message: 19/03/2007, 16h21
  3. Réponses: 10
    Dernier message: 09/11/2006, 15h28
  4. Quel format choisir pour une clé USB : FAT, FAT32 ou NTFS?
    Par NicolasJolet dans le forum Périphériques
    Réponses: 4
    Dernier message: 03/08/2006, 15h02
  5. Quel SGBD choisir pour une gestion clientèle ?
    Par kurkaine dans le forum Décisions SGBD
    Réponses: 15
    Dernier message: 06/10/2005, 13h14

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