2010-08-23 32 views
0

Dans mes projets, j'utilise 4 couches (interface utilisateur, types personnalisés, logique métier et couche d'accès aux données). J'ai beaucoup entendu parler des avantages des propriétés, mais dans la pratique, j'ai juste utilisé des objets métier pour transférer des données entre les couches et ne pas tirer profit des propriétés. J'ai lu que les règles métier, les validations et les vérifications peuvent être implémentées en utilisant des propriétés, mais tout cela est fait sur le front end en utilisant des contrôles de validation et des expressions régulières qui donnent même une bonne expérience utilisateur. (Je fais en outre des validations côté serveur en utilisant les mêmes validateurs et expressions régulières avant d'envoyer des données à la base de données.)avantages des propriétés dans les objets métier?

Veuillez me guider quelles sont la force de base et l'utilisation des propriétés? Pourquoi ils sont importants et comment ils apportent des avantages.

+0

Vous semblez vous poser des questions sur l'utilisation des propriétés (propriétés de l'instance de classe C#?) D'une part et sur la couche appropriée pour la validation d'autre part. Pas tout à fait sûr de ce que vous demandez ici ou comment la validation et les propriétés se rapportent les unes aux autres. Pouvez-vous mettre à jour et clarifier? – Abel

+0

Bien difficile de répondre. Cela pourrait bien se terminer par une discussion religieuse. Mais si vous vous demandez à quoi servent les propriétés dans les objets buiness ... eh bien, vous n'avez pas besoin d'em. Vraiment! –

+0

J'ai édité ma question, j'espère que c'est clair maintenant. Je veux juste demander l'avantage des propriétés. merci – haansi

Répondre

1

En ce moment, je peux penser à deux utilisations possibles des propriétés dans les objets métier.

1) Propriétés calculées. Propriété readonly renvoyant une valeur basée sur d'autres champs/propriétés de l'objet.

par exemple:

public double AmountToPay { get { return _price*qty; }} 

Cette logique devrait rester à l'intérieur objet métier parce que tommorrow vous voudrez peut-être ajouter un peu majorant le montant, et de le garder à l'intérieur de l'objet refléterait le nouveau montant à tous les utilisateurs.

2) Propriétés de validation Une propriété indiquant que l'instance créée d'un objet métier (ou une partie de celui-ci) est valide ou non.

par exemple:

public bool IsAValidPrice { get { return _price > 0 ; } } 

Encore une fois, tommorrow l'entreprise peut permettre à certains articles à vendre gratuitement, et la logique comprendrait les points avec le prix == 0 comme un prix valide.

+0

Merci Amby, Ce que vous dites est correct mais je l'ai senti dans la pratique c'est pas pratique. Si nous travaillons sur le Web, nous devons effectuer des validations côté client et l'utilisation de contrôles de validation et de validations d'expressions régulières à l'aide de propriétés semble inutile. C'est pourquoi j'ai essayé de voir l'utilisation réelle des propriétés. Veuillez nous conseiller – haansi

+0

Je suis d'accord, dans le cas d'une application simple html + javascript, ce n'est pas si direct. Vous pouvez envisager d'utiliser Ajax/JQuery pour permettre plus d'interaction entre le client et le serveur. Je reviendrai à vous si je trouve une meilleure réponse. À votre santé! –