Question

Je vais commencer un projet de mon propre, qui sera ASP.NET MVC + Fluent NHibernate. autant que je le peux, je veux test premier à utiliser l'approche. Alors, où est-ce exactement que je pars? schéma de base de données? modèle de domaine? cours de cartographie du modèle de domaine à la base de données?

Était-ce utile?

La solution

Si vous avez peu d'expérience dans les tests d'écriture, il est le plus facile de démarrer à partir du modèle de domaine (ou un niveau supérieur juste au-dessous de l'interface utilisateur). Lorsque vous avez conduit la conception du modèle de domaine avec TDD, alors vous saurez que ce que le schéma de base de données doit être. Il peut être bon de reporter l'introduction d'une base de données au système, parce que sur la migration des schémas de base de données ajoutera certains frais généraux au développement. Et cela se traduira aussi par une meilleure conception, car alors le modèle de domaine sera mieux découplé de la couche de base de données.

Si vous êtes qualifiés dans les tests d'écriture et TDD, il peut être avantageux de commencer à partir d'un test de bout en bout (dans ce cas, ils seraient écrits contre l'interface utilisateur Web) et produire une fine tranche de fonctionnalité qui touche toutes les parties architecturales du système (tel que recommandé dans GOOS ). En d'autres termes, créer un squelette de marche . Les avantages de cette approche sont que (1) vous serez en mesure d'aborder et de résoudre les problèmes d'intégration dès le début, (2) lorsque les essais de bout en bout sont utilisés pour conduire la conception, il peut vous aider à éviter la mise en œuvre pièces superflues, et (3) les difficultés de l'écriture des tests de bout en bout vous des pressions pour améliorer l'architecture et ajouter des crochets de surveillance, qui peuvent également être utiles dans la surveillance du système en production. (Test unitaire Axé sera toujours nécessaire, car ils fournissent la pression de conception au niveau de la classe, plus ils courent plus vite et de fournir ainsi un feedback plus rapide.)

J'ai écrit plus sur cette dernière approche Design for intégrabilité .

Autres conseils

collecte des besoins.

Commencez par une maquette / prototype (par exemple Balsamiq Mocks) de l'application, puis writre les vues, se moquant des contrôleurs que vous avancez, puis écrire la logique du contrôleur, se moquant de la DAO / Repositorys le long du chemin. Au moment où vous commencez à écrire votre / DAO Référentiels, vous aurez une bonne idée de votre vos objets de domaine requis. Frappez ceux et utiliser Fluent NHibernate pour construire votre base de données.

manière qui est au moins ils que je suis en train de faire des choses.

scroll top