Question

Je veux dire - physiquement, dans le code. Organisation de nommage, les espaces de noms, des dossiers, des ensembles, base de données / s.

Comment les contextes bornés devraient interagir?

Par exemple, ne hésitez pas à utiliser classique e-commerce business domaine .

Était-ce utile?

La solution

Je dirais que 'ça dépend'

Quelques fois il pourrait être suffisant pour cartographier vos entités de la Colombie-Britannique à la même base de données et parfois vous pourriez avoir des bases de données pour. Votre BC

OMI, le commerce électronique pourrait être plus d'un BC qu'un domaine complet.

J'ai passé un peu trop de temps à un agent de vente tout où ils ont vendu des produits alimentaires.

Ainsi, le domaine était « ventes » ensemble et le contexte était bornées, l'inventaire, l'achat, la vente, la facturation, catalogue de produits et de commerce électronique (peut-être que j'utilise le mauvais texte anglais ici)

Chacun de ces COLOMBIE-BRITANNIQUE était au courant de « produits », mais ils avaient tous leur point de vue différent d'un produit.

par exemple. Achat pourrait avoir une entité produit des informations du fournisseur, le prix d'achat, etc attaché.

Alors qu'un produit dans le domaine du commerce électronique serait modélisé à partir d'un point de vue du client, il aurait des informations pertinentes pour le client que ce point de vue, leur prix spécifique etc.

BC commerce électronique obtiendrait informations sur ses produits à partir de plusieurs sources; Le catalogue des produits et des ventes. où l'information de base est du catalogue des produits et les prix spécifiques clients sont des ventes.

Ainsi, le dépôt de produit dans le BC commerce électronique pourrait faire contexte la cartographie de l'autre de la Colombie-Britannique (via les services de quelque sorte, web le plus probable ou WCF dans mon cas) pour construire notre entité produit e-commerce)

Personnellement, je ne modéliser ce assemblages séparés, j'aurais un modèle e-commerce et un modèle de vente.

La plupart des informations contenues dans mon modèle de commerce électronique viendrait de sources externes et wouldnt être persistant localement. Seulement des choses comme caddie seraient persistant localement puisque ces objets appartiennent au modèle de commerce électronique.

Une fois tente de clients pour compléter leur achat, je construirait une pré-commande à partir du panier et passer ensuite que la Colombie-Britannique de vente. Soit par un appel de service direct ou par l'intermédiaire d'une file d'attente de messages.

Donc en bref, je tends à construire mes systèmes autour d'un BC spécifique et seulement interagir avec d'autres services de la Colombie-Britannique par.

Je sais que beaucoup de gens ne mettent leurs BCs dans les mêmes assemblées et utiliser plusieurs de la Colombie-Britannique de la même application, etc. Mais je trouve étrange pourquoi une application dans un but spécifique devrait connaître plusieurs contextes. Je préfère fais connaître un seul contexte et transmettront toutes les données dont j'ai besoin à d'autres applications.

Autres conseils

Je suis bien d'accord que tout dépend, mais il y a des lignes directrices qui peuvent / doivent être suivies. Le but des contextes bornés est, bien, les limites. Frontières qui séparent sur une partie d'application d'une autre par l'introduction d'un contrat bien défini (interface).

J'ai tendance à traiter comme BCs Services SOA. Pour moi, cela signifie qu'ils sont idéalement applications physiquement distinctes (processus OS / IIS sites Web). Binaires sont également séparés bien sûr. Toutes les communications entre BCs est idéalement asynchrone. Dans le monde réel, il est à peine possible, mais au moins je ne permettent pas les transactions inter-BC, car ils sont mal pur.

L'espoir qui aide.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top