2010-10-05 16 views
1

J'essaie de faire un effort délibéré pour écrire du code qui suit la convention appropriée, même si cela peut ajouter de la complexité, et jusqu'ici j'ai réussi mais je remarque une tendance dans mon programmes.Utilisation correcte de Beans dans Java MVC

Mon projet est petit, une webapp javaee avec seulement une poignée de servlets, suit la conception MVC, et utilise des beans comme modèle. Mon problème est que mes haricots sont plus souvent juste 'un endroit où coller quelque chose afin que je puisse avoir une vue correcte codée'. J'ai eu l'impression que les beans étaient bien sûr juste des conteneurs pour les données, mais aussi une portabilité et une utilité au-delà d'une seule servlet.

Mon problème est-il simplement le résultat d'un code relativement simple ou est-ce que je risque d'abuser du concept de bean?

Répondre

2

Les haricots sont supposés être stockés. Nous parlons de Pojo Beans. Si les collections ne sont pas suffisantes pour gérer le modèle de données avec lequel l'application fonctionne, une classe est créée pour répondre aux besoins. BEAN doit être considéré comme un objet pour la conservation temporaire d'état ayant des setters et des getters qui pourraient avoir des fonctionnalités supplémentaires légères. Il n'y a rien de mal quand votre application fonctionne avec beaucoup de beans, si vous adhérez à des paradigmes comme l'héritage et le polymorphisme. Pojo Beans capture également le modèle de données (modèle de domaine) de votre application s'il fonctionne sur une base de données ... les tables de base de données et les beans correspondent les uns aux autres. C'est ainsi que fonctionne ORM (persister l'état d'un haricot dans le temps et l'inverse). Même sans ORM, la couche Objets d'accès au domaine fonctionne bien sur un modèle de domaine composé de nombreux beans.

Ils sont également le meilleur moyen de présentation de vue. Les mélanger avec des collections. Implémentation de comparateurs. Le terme «bean» a commencé à être utilisé dans Spring framework par exemple, où il est juste une classe qui fait partie du contexte de l'application/le conteneur Spring n'est pas du tout un getBBter/setter JavaBean.

+0

Je constate que mes haricots (pojo) ne varient en détail que par un ou deux champs. À cet égard, ils deviennent couplés à la vue. Je suppose que c'est juste inévitable parfois? – JHarnach

+0

@JHarnach, regardez, le fait que 3 haricots différents varient dans 3 champs et partage les 10 autres champs est mauvaise conception. Dans ce cas, vous êtes libre d'utiliser l'héritage, childBean étend parentBean. C'est plus facile quand on peut utiliser Generics, car cela améliore l'utilisation du polymorphisme. Créer des collections Generics au lieu de lancer des types de parentBean à childBean chaque fois que vous avez ArrayList et que vous voulez obtenir childBeans. – lisak

Questions connexes