Le modèle de stratégie fonctionne bien pour éviter les énormes constructions if ... else et faciliter l'ajout ou le remplacement de fonctionnalités. Cependant, cela laisse toujours un défaut à mon avis. Il semble que dans chaque implémentation, il doit encore y avoir une construction de branchement. Il peut s'agir d'une …
Je sais que c'est une vaste question, je vais donc essayer d'être aussi précis que possible. Cette question est plus une question «organisationnelle» qu'une question technique. Nous avons un projet multi-faces avec ces composants principaux: Un serveur, hébergeant la logique métier principale (modèles de données) Un backoffice pour les clients …
Une classe LinkedList existe avec des fonctions telles que add_first (), add_last (), add_after (), remove_first (), remove_last () et remove () Il existe maintenant une classe Stack qui fournit des fonctionnalités telles que push (), pop (), peek () ou top (), et pour implémenter ces méthodes, elle étend …
J'ai une situation où je soutiens ce qui est fonctionnellement la même bibliothèque dans plusieurs langues. Il y a souvent des constantes qui doivent être partagées entre celles-ci (par exemple, les clés de nom de champ json ou les codes d'erreur). La façon dont je le fais actuellement est d'avoir …
Je crée un jeu de plateau (comme les échecs) en Java, où chaque pièce est de son propre type (comme Pawn , Rooketc.). Pour la partie GUI de l'application, j'ai besoin d'une image pour chacune de ces pièces. Puisque faire pense comme rook.image(); viole la séparation de l'interface utilisateur et …
Lors d'une réunion SCRUM, l'équipe produit débattait d'une fonctionnalité d'une API qui serait utilisée par l'application mobile. Nous avons eu une maquette qui a montré à quoi devrait ressembler l'écran et quels éléments clés il devrait contenir (une "disposition"). Sur la base de cela et de la discussion que j'ai …
Je travaillais sur un tutoriel Ray Wenderlich et j'ai remarqué que l'auteur utilise des extensions de classe pour contenir les rappels des délégués plutôt que de les faire gérer dans la classe elle-même, c'est-à-dire: déléguer les rappels à l'intérieur de l'extension de classe: extension LogsViewController : UIPopoverPresentationControllerDelegate { func adaptivePresentationStyleForPresentationController(controller: …
Commençons par un exemple. Disons que j'ai une méthode appelée exportqui dépend fortement du schéma DB. Et par «dépend fortement», je veux dire que je sais que l'ajout d'une nouvelle colonne à une certaine table conduit souvent (très souvent) au exportchangement de méthode correspondant (en général, vous devez également ajouter …
Disons qu'il existe une classe utilitaire qui fournit des méthodes statiques courantes utilisées partout dans votre code par de nombreuses autres classes. Comment concevriez-vous vos tests unitaires pour les consommateurs de l'utilitaire afin que leurs tests échouent si l'un des tests d'utilité ne réussit pas? Pouvez-vous le faire ou devez-vous …
J'utilise une bibliothèque tierce. Ils me passent un POJO qui, à nos fins et à des fins, est probablement implémenté comme ceci: public class OurData { private String foo; private String bar; private String baz; private String quux; // A lot more than this // IMPORTANT: NOTE THAT THIS IS …
Je lis un livre intitulé Rails AntiPatterns et ils parlent d'utiliser la délégation pour éviter d'enfreindre la loi de Demeter. Voici leur premier exemple: Ils croient qu'appeler quelque chose comme ça dans le contrôleur est mauvais (et je suis d'accord) @street = @invoice.customer.address.street La solution proposée consiste à procéder comme …
Je faisais un programme Python pour mesurer la croissance de codereview.SE . Mon approche était d'obtenir les "statistiques du site" affichées sur la première page et de les stocker sur mon disque dur. Je prévois de le faire une fois par jour. Jusqu'à présent, j'ai fait assez pour obtenir les …
J'essaie d'expliquer le principe d'inversion de dépendance à mes collègues (pour la plupart juniors). Comment définir laquelle est la «politique de haut niveau» et laquelle est le «détail de bas niveau» dans un logiciel? Par exemple, si notre logiciel automatise le flux de travail de plusieurs applications métier, pourquoi disons-nous …
Edit: mon langage permet l'héritage multiple, contrairement à Java. J'ai commencé à concevoir et à développer mon propre langage de programmation à des fins éducatives, récréatives et potentiellement utiles. Au début, j'ai décidé de le baser sur Java. Cela impliquait que tout le code serait écrit sous forme de classes, …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.