2010-03-02 8 views
6

De l'intitulé, je pense que c'est une question simple, mais en regardant dans le "monde des objets d'affaires", je n'arrive pas à mettre le doigt sur quoi que ce soit de solide. devrait être. Y at-il des meilleures pratiques que je devrais suivre, ou même des modèles de conception?Qu'est-ce qui définit un objet métier?

J'ai trouvé un livre, "Expert C# Business Objects", serait-ce mon meilleur point de départ pour mieux comprendre? Un objet métier fait référence au comportement métier ou aux données associées à l'entité qu'il représente.

+0

L'erreur ici est une combinaison du terme "Business Object" étant une mauvaise grammaire et la confusion innée causée par un nom et un verbe en anglais étant indiscernables par écrit. Un «objet» proprement dit devrait être «obJECT» (la forme du verbe) et les règles de l'accord sujet/verbe imposent que «l'entreprise» soit «entreprise». D'où le terme devrait vraiment être "Businesses Object" et vous le verriez dans les titres comme "Businesses Object à la bonne pratique de programmation". Ou je fais des trucs. Tu décides. –

Répondre

5

Dans une application, vous disposez d'un code qui fait ce que l'application est censée faire (le contenu métier) et du code qui permet techniquement d'exécuter et d'interagir avec l'utilisateur. Par exemple, dans un modèle MVC, le contenu métier sera le travail du modèle. Je pense que this l'explique mieux. Vous pouvez également jeter un coup d'œil au modèle MVC et voir la responsabilité de chaque couche. Une fois que vous aurez compris cela, il sera alors plus facile de voir ce qui peut être considéré comme un «objet commercial».

+1

L'article Wikipédia cité est contraire à d'autres définitions populaires d'un objet commercial comme expliqué par Rockford Lhotka dans son livre http://www.amazon.com/Expert-C-2008-Business-Objects/dp/1430210192 ou dans le book http://www.corej2eepatterns.com/Patterns2ndEd/BusinessObject.htm Un objet métier et un modèle représentent des préoccupations distinctes et ne doivent pas être considérés comme synonymes. –

1

Peut-être qu'un exemple concret pourrait aider. Supposons que vous écrivez une application de planification de menu. Vos objets métier sont des éléments tels que Menu, Ingrédient, UserAccount, Invoice, ces objets qui encapsulent la logique de votre modèle d'entreprise. Les choses qui ne sont pas des objets métier incluent des choses comme MenuForm, Database, Transaction.

3

Les objets métier sont les éléments de votre modèle de domaine .

Quel est le modèle de domaine? Le modèle de domaine décrit ce que votre système fait du point de vue du réel. Le modèle de domaine décrit la relation logique entre les éléments et la contrainte entre eux. sont en quelque sorte des termes interchangeables

objet métier, ENTITES d'affaires, ou simplement entités. Il se réfère à ce que la solution logicielle va représenter dans le monde réel, cela peut être client, account, documents, etc Cela peut être tout ce que votre solution est censée répondre.

Ceci exclut alors les objets purement techniques qui ne sont là que pour résoudre les problèmes de mise en œuvre.

Nous utilisons le terme entités, car ces éléments existent (ils ont une existence) en dehors du logiciel. En d'autres termes, le logiciel est une représentation de ces éléments.

Voir:

+0

Merci pour cette information. C'est certainement une zone à plus grande échelle que je ne le pensais. –

+0

Vous pourriez alors aussi être intéressant dans cette autre question: http://stackoverflow.com/questions/2333307/should-enterprise-java-entities-be-dumb/2333921#2333921 – ewernli

0

Un Business Object est un objet qui représente une entité commerciale et peut éventuellement contenir des affaires Logic.

1

Je n'arrive toujours pas à comprendre à 100% comment les objets métier (BO) diffèrent des objets de transfert de données (DTO).

Il me semble que les DTO ne contiennent que des données, alors que les BO contiennent les données et le code pour traiter les données?!?

Alors un BO peut "contenir" les données de plusieurs DTO, non?

Questions connexes