Est-ce une mauvaise pratique d'avoir un paquet avec une seule classe dedans? Serait-il plus logique de déplacer la classe unique sur un package code> util code> qui contiendrait d'autres classes utiles aléatoires? P>
7 Réponses :
non fort> p>
Le paquet est utilisé pour mettre des classes similaires ensemble,
Dans votre système s'il n'y a pas de classe similaire, vous pouvez évidemment le mettre. P>
Est-ce une mauvaise pratique d'avoir un paquet avec une seule classe dedans? P> blockQuote>
Pas nécessairement. Cela pourrait être un signe de quelqu'un qui est obsédé par la classification des choses. D'autre part, il pourrait simplement être une conséquence logique d'un système de classification général sensible appliqué dans un cas inhabituel. p>
Un exemple de ce dernier pourrait être où vous avez une API générale et de multiples implémentations de cette API, où chacune des implémentations est constituée de plusieurs classes. Mais une de ces implémentations (permet de l'appeler la mise en œuvre nulle) consiste en une seule classe. P>
Le test réel est de savoir si la structure de l'emballage sert son (s) but (s): P>
est-ce que cela facilite la recherche de classes de bibliothèque? P> LI>
Les paquets organisent les classes d'application le long des lignes de la structure du module logique de l'application? p> li>
La structure vous permettra de utiliser efficacement la visibilité "Paquet Private"? P> LI> ul>
Cela aurait-il plus de sens pour déplacer la classe unique en un package UTIL qui contiendrait d'autres classes utiles aléatoires? P> blockQuote>
Pas nécessairement. Si la classe est juste une autre classe de feuilles «de manière aléatoire», il y a un bon cas pour le déplacer. D'autre part, s'il a une fonction spécifique et n'est pas destiné à être utilisé de manière générale, il peut être préférable de le laisser là où il se trouve. P>
Il est préférable de ne pas être trop obsédé par la création de hiérarchies d'emballages élégants ou de les rejoindre quand ils se révèlent être aussi élégants (ou utiles) que vous pensiez d'abord. Il existe généralement des choses plus importantes à faire, comme la mise en œuvre de la fonctionnalité, des tests d'écriture, de la documentation d'écriture et ainsi de suite. P>
Un bon exemple de ceci est des plugins. Vous pouvez avoir un package appelé com.pricingsoftware.dataProviders et sous-évaluations de PriceProvidera, PriceProviderb et SO-ON. Certaines implémentations auraient beaucoup de cours, mais d'autres pourraient bien avoir une seule classe, en fonction du format du fil.
Un autre exemple est les pilotes de périphérique.
Il existe différents statistiques pour les classes utiles statiques. J'utilise celui-ci: p>
Est-ce une mauvaise pratique d'avoir un paquet avec une seule classe dedans? P> blockQuote>
Pas nécessairement. Les packages utilisent pour regrouper des entités logiquement liées. Cela ne vous empêche pas d'avoir une seule entité dans un paquet. p>
Il serait plus logique de déplacer la classe unique dans un package code> util code> contenant d'autres classes utiles aléatoires? P> blockQuote>
Pas pour moi, pour deux raisons: p>
util code> a une signification spécifique. Déplacement d'une entité arbitraire à
UTIL CODE> Pour des raisons de solitude serait un cas limite d'abus utile. Li>
- C'est une organisation prématurée. Avec Java, le support IDE est assez riche pour se réorganiser facilement et efficacement en quelques clics. Attendez un moment pour voir comment votre projet évolue puis appelle ensuite un appel. li> ol>
Ce n'est pas «mauvais» d'avoir une seule classe dans un package, créez un nouveau paquet pour regrouper plus d'une classe associée et si vous vous attendez à des classes plus connectées à votre classe logique individuelle actuelle à l'avenir pour éviter de refactoriser. Déplacement de toutes les classes de type utilitaire aléatoire sur un seul paquet est une pratique courante observée dans de nombreux endroits. Il est vraiment une question de choix. P>
Je suppose que cela dépend. Il est assez rare de disposer d'un colis avec une classe, car en plus des réponses énumérées ci-dessus, les packages servent également à la création d'un système en couches. Un package avec une seule classe de celui-ci indique que la décomposition du système n'a pas surfacé certains objets dans le système. Donc, oui, je vais examiner de plus près ce forfait et question de quoi le but est. P>
Il vaut mieux ne pas coller précisément des trucs aléatoires dans un emballage UTIL à cause de la raison mentionnée ci-dessus. Vous devriez vous demander si vous penseriez à regarder dans l'utilisation de votre classe à l'avenir avant de la mettre là-bas. Lorsque l'utilisation pousse grosse, il commence à trouver difficile la recherche de l'utilitaire recherchée. P>
Cela ne signifie pas que c'est nécessairement faux, mais il devrait y avoir une très bonne raison pour une classe isolée dans un paquet. P>
La plupart des instances d'un paquet avec une seule classe que j'ai vue ont été erronées. p>
Les packages doivent mettre en œuvre des fonctionnalités. Il est rare qu'une fonctionnalité soit implémentée en utilisant uniquement une seule classe. P>