Connaissez-vous des modèles de programmation GUI ?(Pas de modèles sur la conception d'interfaces graphiques)

StackOverflow https://stackoverflow.com/questions/11263

  •  08-06-2019
  •  | 
  •  

Question

Je recherche des modèles concernant le codage de parties d'une interface graphique. Pas aussi mondial que MVC, que je connais assez bien, mais des modèles, des bonnes idées et des meilleures pratiques concernant les contrôles et entrées uniques.

Disons que je souhaite créer un contrôle affichant certains objets pouvant se chevaucher.Maintenant, si je clique sur un objet, je dois savoir quoi faire (il suffit de trouver l'objet que je peux faire de plusieurs manières, comme un arbre quadruple et un ordre Z, ce n'est pas le problème).Et aussi je peux maintenir une touche de modification enfoncée, ou un objet est actif depuis le début, ce qui rend la sélection ou quoi que ce soit un peu plus compliquée.Dois-je avoir une instance d'objet représentant un objet d'écran, gérer l'action de l'utilisateur lorsqu'on clique dessus ou une classe principale.etc..Quels types de modèles ou de solutions existe-t-il pour des problèmes comme celui-ci ?

Était-ce utile?

La solution

Je pense que pour être honnête, il est préférable de simplement consolider vos modèles de conception standard et de les appliquer aux problèmes individuels que vous rencontrez lors du développement de votre interface utilisateur.

Bien qu'il existe des « thèmes » courants dans l'interface utilisateur (tels que la gestion des touches de modification), la mise en œuvre réelle peut varier considérablement.

J'ai le O'Reilly Modèles de conception tête première et L'affiche, que j'ai trouvé inestimable !

Prise sans vergogne :Ces liens utilisent mon identifiant d'associé.

Autres conseils

La conception et les modèles orientés objet de Cay Horstmann comportent un chapitre intitulé "Modèles et programmation GUI".Dans ce chapitre, Horstmann aborde les modèles suivants :

  • Les gestionnaires de mise en page des observateurs et les
  • Composants du modèle de stratégie,
  • Conteneurs et modèle composite
  • Barres de défilement et modèle de décorateur

Je ne pense pas que l'avantage des modèles de conception vienne du fait d'essayer de trouver un modèle de conception adapté à un problème.Vous pouvez cependant utiliser certaines heuristiques pour vous aider à nettoyer un peu votre conception, comme en gardant l'interface utilisateur aussi découplée que possible du reste des objets de votre système.

Il existe un modèle qui pourrait être utile dans ce cas, le Modèle d'observateur.

Je sais que vous avez dit pas aussi global que MVC, mais il existe quelques variantes de MVC - en particulier HMVC et PAC - qui, je pense, peuvent répondre à des questions telles que celles que vous posez.

En dehors de cela, essayez d'écrire du nouveau code "dans l'esprit" des modèles existants même si vous ne les appliquez pas directement.

peut-être cherchez-vous quelque chose comme le « MouseTrap » que j'ai vu dans certains articles sur codeproject (recherche de UI Platform) ?

J'ai aussi trouvé cette série très utile http://codebetter.com/jeremymiller/2007/07/26/the-build-your-own-cab-series-table-of-contents/ où vous pourriez jeter un œil aux contrôleurs intégrés, etc.

Micha.

Vous envisagez une programmation d’application professionnelle.J'ai longtemps cherché des trucs et astuces, sans succès.Malheureusement, vous ne trouverez rien d'utile, c'est un sujet compliqué et ce n'est qu'avec de nombreuses années d'expérience que vous pourrez comprendre comment rédiger efficacement une candidature.Par exemple, presque tous les programmes ouvrent un fichier, extraient des informations, les montrent sous différentes formes, permettent le traitement, l'enregistrement, ...mais personne n'explique exactement quelle est la bonne stratégie, etc.De plus, si vous écrivez une grosse application, vous devez réfléchir à certaines stratégies pour réduire votre temps de compilation (sinon vous attendrez des heures à chaque compilation).Les idiomes Impls en C++ vous aident par exemple.Et puis il y a bien plus encore.C'est pour cette raison que les développeurs de logiciels sont bien payés et qu'il y a tellement d'emplois :-)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top