Mnémoniques pour un ensemble de principes de conception: responsabilité unique, ouvert-fermé, substitution Liskov, ségrégation d'interface, inversion de dépendance
Je suis en train de concevoir mon application et je ne suis pas sûr de bien comprendre SOLID et OOP. Les classes doivent faire une chose et le faire bien, mais de l’autre côté, elles doivent représenter de vrais objets avec lesquels nous travaillons. Dans mon cas, je procède à …
Je me demande sans cesse s'il est légitime d'utiliser des verbes basés sur des noms dans la programmation orientée objet. Je suis tombé sur ce brillant article , bien que je sois toujours en désaccord avec ce qu'il dit. Pour expliquer un peu plus le problème, l'article stipule qu'il ne …
Aujourd'hui, je viens de lire cet article décrivant la pertinence du principe SOLID dans le développement de F # - F # et principes de conception - SOLID Et en abordant le dernier - "Principe d'inversion de dépendance", l'auteur a déclaré: D'un point de vue fonctionnel, ces conteneurs et concepts …
Selon la documentation de Microsoft, l'article de SOLID sur Wikipedia, ou la plupart des architectes informatiques, nous devons nous assurer que chaque classe n'a qu'une seule responsabilité. J'aimerais savoir pourquoi, parce que si tout le monde semble être d'accord avec cette règle, personne ne semble être d'accord sur les raisons …
J'ai trouvé les principes SOLID plutôt utiles pour la conception orientée objet. Existe-t-il un ensemble de principes agnostiques similaires / équivalents, conçus pour la programmation fonctionnelle?
Dans nos applications pour la plupart volumineuses, nous n'avons généralement que quelques emplacements pour les "constantes": Une classe pour l'interface graphique et les constantes internes (titres de page d'onglet, titres de zone de groupe, facteurs de calcul, énumérations) Une classe pour les tables et colonnes de base de données (cette …
Le contexte Dans Clean Code , page 35, il est écrit Cela implique que les blocs contenus dans les instructions if, les autres déclarations, les instructions while, etc., doivent comporter une ligne. Probablement cette ligne devrait être un appel de fonction. Non seulement cela garde la fonction englobante réduite, mais …
Disons, par exemple, que vous avez une application avec une classe largement partagée appelée User. Cette classe expose toutes les informations sur l'utilisateur, son identifiant, son nom, les niveaux d'accès à chaque module, le fuseau horaire, etc. Les données utilisateur sont évidemment largement référencées dans tout le système, mais pour …
Fermé . Cette question est basée sur l'opinion . Il n'accepte pas actuellement de 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 . Je considérerais probablement comme une …
Je suivais cette question très votée sur une possible violation du principe de substitution de Liskov. Je sais ce qu'est le principe de substitution de Liskov, mais ce qui n'est pas encore clair dans mon esprit, c'est ce qui pourrait mal tourner si, en tant que développeur, je ne pense …
SOLID inclut le principe de substitution de Liskov qui a la notion que «les objets d'un programme doivent être remplaçables par des instances de leurs sous-types sans altérer l'exactitude de ce programme». Étant donné que les classes statiques avec des méthodes statiques (un peu comme la Mathclasse) n'ont pas du …
Je comprends ce que SOLID est censé accomplir et je l'utilise régulièrement dans des situations où la modularité est importante et ses objectifs sont clairement utiles. Cependant, deux choses m'empêchent de l'appliquer de manière cohérente dans ma base de code: Je veux éviter une abstraction prématurée. D'après mon expérience, tracer …
J'ai récemment eu une discussion avec un de mes amis sur la POO dans le développement de jeux vidéo. J'expliquais l'architecture d'un de mes jeux qui, à la surprise de mon ami, contenait de nombreuses petites classes et plusieurs couches d'abstraction. J'ai fait valoir que c'était le résultat de ma …
Je travaille depuis deux ans dans une grande banque d'investissement. J'ai réalisé quelques projets techniques avec le désir de créer le code le plus optimisé, en respectant les bons schémas de conception adaptés, le principe SOLIDE, la loi de déméter et en évitant toutes sortes de codes en double ... …
Disons que j'ai une interface FooInterfacequi a la signature suivante: interface FooInterface { public function doSomething(SomethingInterface something); } Et une classe concrète ConcreteFooqui implémente cette interface: class ConcreteFoo implements FooInterface { public function doSomething(SomethingInterface something) { } } J'aimerais ConcreteFoo::doSomething()faire quelque chose d'unique s'il passe un type d' SomethingInterfaceobjet spécial …
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.