9
votes

Est-il possible d'implémenter MVC pour une application de console Java?

Je veux pratiquer MVC avec Java, mais au premier je veux créer une simple application de console et le séparer en MVC, je sais que je peux séparer le modèle de la console (View + Controller), mais comment puis-je séparer la vue et le contrôleur dans cette situation?


7 commentaires

Peut-être une façon de penser à la façon de la séparer, c'est penser à la manière dont vous l'implémenteriez sur un réseau où le modèle est sur un ordinateur, la vue sur un autre et le contrôleur reliant les deux. Mais oui, cela peut être fait.


Je dois toujours avoir un conseil comment séparer la vue et le contrôleur dans une application de console? une idée de la façon de le faire?


@Austin Powers: Avez-vous essayé ce que j'ai suggéré?


J'ai lu votre réponse, mais autant que je sache, le contrôleur devrait être responsable de l'interaction entre le modèle et la vision. Nott pour obtenir une entrée directement de l'utilisateur. Corrige moi si je me trompe.


@Austin Powers: Le contrôleur est utilisé pour gérer les événements provenant de l'entrée de l'utilisateur. Comme lorsque vous appuyez sur une touche dans la console ou entrez du texte. Ensuite, il informe le modèle ou la vision de changer en conséquence.


Donc, vous voulez dire que je dois me moquer du contrôleur ou changer sa règle? , parce que fondamentalement, il ne peut y avoir de contrôleur sur l'application de console.


@Austin Powers: J'ai édité ma réponse.


3 Réponses :


-5
votes

L'architecture généralement MVC est purement pour une application d'entreprise à grande échelle d'entreprise. Tout d'abord, vous devez comprendre votre condition et vous êtes très clair que ce que vous obtenez après la mise en œuvre de ce MVC dans votre console Java. Lorsque vous mettez en œuvre MVC dans votre petite application, vous ne pouvez pas avoir vu son avantage et son architecture. Si vous voulez le sentir, vous pouvez sélectionner une petite application Web, tout comme une page de connexion simple et et faire du traitement.

Si je ne corrige pas s'il vous plaît corrigez-moi .. Donnez-moi votre précieuse suggestion aussi ..........

merci


5 commentaires

En fait, je ne suis pas d'accord. Les avantages de la séparation du modèle, de la vue et du contrôleur sont visibles même pour les petites applications. Votre code est plus clair et plus facile à comprendre. Tout mélanger (rendu d'interface graphique, manipulation des événements et accès aux données) dans une classe / module / programme rend votre code difficile à maintenir.


@Matteo ... merci de me corriger ... mais je veux dire dire que nous ne pouvons pas clairement "sentir" cela dans une petite demande de base de la console.


C'est un excellent moyen de séparer logiquement des préoccupations pour la création et les tests, de sorte que le modèle puisse être débogué et amélioré dans cet environnement de console plus simple, puis connecté ultérieurement à votre GUI plus complexe ou à votre vision de l'application Internet plus complexe. Il vous oblige également à utiliser des interfaces plutôt que des classes et d'utiliser un couplage lâche - à la fois de grands avantages.


MVC est venu de Applications GUI, de SmallTalk . L'échelle de l'application a très peu à voir avec elle, ni le mécanisme de mise en œuvre (interface graphique, Web, etc.)


Matteo et Hovercraft, oui, cela facilite le développement d'utiliser MVC. J'ai écrit un jeu Connect4 pour la console à l'aide de MVC; Je n'avais pas à réécrire tout quand je l'ai porté pour balancer.



3
votes

Eh bien, vous pouvez imiter ce comportement en ayant une classe qui gère la saisie de la console d'utilisateur (contrôleur) et une autre classe qui traite de rendre le modèle sur la sortie de la console (vue).

Ce n'est pas vraiment ce que MVC est pour, mais si vous voulez vraiment le faire ...

Modifier : OK, je vais vous donner des idées concrètes sur le contrôleur. Vous savez que dans une application d'interface graphique, vous avez la soi-disant "boucle de message". Vous devrez imiter cela dans votre application de console. Essayez de démarrer un fil parallèle qui reçoit la saisie de la console dans une boucle infinie. Lorsque l'entrée est reçue, appelez une méthode de gestionnaire de la classe du contrôleur.


0 commentaires

6
votes

oui

Toute l'idée de MVC est que la vue n'a pas d'importance. Ainsi, fondamentalement, vous pouvez construire tout ce que vous souhaitez utiliser à l'aide de principes MVC.


0 commentaires