Je comprends l'intention du principe ouvert-fermé. Il est destiné à réduire le risque de casser quelque chose qui fonctionne déjà en le modifiant, en vous disant d'essayer de l'étendre sans le modifier. Cependant, j'ai eu du mal à comprendre comment ce principe est appliqué dans la pratique. À ma connaissance, …
Fermé . Cette question est basée sur l'opinion . Il n'accepte pas actuellement les réponses. Voulez-vous améliorer cette question? Mettez à jour la question afin d'y répondre avec des faits et des citations en modifiant ce message . Fermé il y a 4 ans . J'ai assisté à plusieurs entretiens …
Par exemple, est-il préférable de faire: Pdf pdf = new Pdf(); pdf.Print(); ou: Pdf pdf = new Pdf(); PdfPrinter printer = new PdfPrinter(); printer.Print(pdf); Un autre exemple: Country m = new Country("Mexico"); double ratio = m.GetDebtToGDPRatio(); ou: Country m = new Country("Mexico"); Country us = new Country("US"); DebtStatistics ds = …
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 …
Je commence tout juste à explorer SOLID et je ne sais pas si la lecture à partir de fichiers et l'écriture dans des fichiers sont la même responsabilité. La cible est du même type de fichier; Je veux lire et écrire des .pdf dans ma candidature. L'application est en Python …
En réponse à cette question, le consensus général était que les méthodes statiques ne sont pas censées être remplacées (et donc les fonctions statiques en C # ne peuvent pas être virtuelles ou abstraites). Ce n'est pas seulement le cas en C #; Java l'interdit également et C ++ ne …
Lorsque j'ai appris le C ++ il y a longtemps, il m'a été fortement souligné qu'une partie de l'intérêt du C ++ est que, tout comme les boucles ont des "invariants de boucle", les classes ont également des invariants associés à la durée de vie de l'objet - des choses …
Je travaille sur la refactorisation de certains aspects d'un service Web existant. La façon dont les API de service sont implémentées est d'avoir une sorte de "pipeline de traitement", où il y a des tâches qui sont exécutées en séquence. Sans surprise, les tâches ultérieures peuvent nécessiter des informations calculées …
Lors de la modélisation d'un objet avec des enfants, il est courant d'inclure les enfants via la composition, en tant que membre de la classe parent. Parfois, cependant, les enfants doivent dire quelque chose au parent, ils doivent appeler une fonction du parent. Comment cela peut-il être accompli en utilisant …
Dans Domain Driven Design, la couche de domaine peut avoir plusieurs services (traditionnels). Par exemple, pour le domaine Utilisateur, nous pouvons avoir: Un UserFactory, qui construit des objets utilisateur de différentes manières Un UserRepository, qui est responsable de l'interaction avec les services de persistance dans la couche infrastructure Un service …
Par exemple, supposons que vous écrivez une application en Java . Votre application communique avec un serveur API écrit en Python . Le serveur Python communique avec une base de données SQL . Vous avez également un site Web pour votre application écrit en JavaScript . Avec 4 langues différentes, …
Tout d'abord un avertissement: je ne sais pas vraiment si cette question correspond à ce site Web, mais je la trouve toujours une question pertinente non seulement pour moi mais pour d'autres personnes qui sont débutants. Si la question peut être améliorée pour s'adapter ici, veuillez indiquer les commentaires int. …
Remarque: l' exemple de code est écrit en c #, mais cela n'a pas d'importance. J'ai mis c # comme balise parce que je ne peux pas en trouver de plus approprié. Il s'agit de la structure du code. Je lis Clean Code et j'essaie de devenir un meilleur programmeur. …
J'essayais de comprendre la différence entre le principe ouvert et fermé (OCP) et le principe d'inversion de dépendance (DIP). Sur la base des recherches que j'ai faites sur Internet jusqu'à présent, je suis arrivé à la conclusion que «le DIP est une option grâce à laquelle nous pouvons atteindre l'OCP». …
Je ne peux pas trouver une meilleure solution à mon problème. J'ai un contrôleur de vue qui présente une liste d'éléments. Ces éléments sont des modèles qui peuvent être une instance de B, C, D, etc. et hériter de A. Donc, dans ce contrôleur de vue, chaque élément doit aller …
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.