Un objet métier persistant devrait être composé des éléments suivants :
- Données
- Nouveau
- Enregistrer
- Supprimer
- Sérialisation
- Désérialisation
Souvent, vous abstraiterez la fonctionnalité pour les récupérer dans un référentiel qui prend en charge :
- ObtenirParID
- ObtenirTous
- ObtenirParCritèresXYZ
Vous pouvez également encapsuler ce type de fonctionnalité dans des classes de collection (par exemple BusinessObjectTypeCollection), cependant il y a beaucoup de mouvement vers l'utilisation du Modèle de Référentiel dans la Conception Orientée Domaine pour fournir ce type d'accesseurs (par exemple InvoicingRepository.GetAllCustomers, InvoicingRepository.GetAllInvoices).
Vous pourriez mettre les règles métier dans les Méthodes Nouveau, Enregistrer, Mettre à jour, Supprimer... mais parfois vous pourriez avoir un moteur de règles métier externe auquel vous confiez les objets.