Mnémoniques pour un ensemble de principes de conception: responsabilité unique, ouvert-fermé, substitution Liskov, ségrégation d'interface, inversion de dépendance
Il semble assez clair que "Principe de responsabilité unique" ne signifie pas "une seule chose". Voilà à quoi servent les méthodes. public Interface CustomerCRUD { public void Create(Customer customer); public Customer Read(int CustomerID); public void Update(Customer customer); public void Delete(int CustomerID); } Bob Martin dit que "les classes ne devraient …
Lors d'un récent entretien d'embauche, je ne pouvais pas répondre à une question à propos de SOLID - à part fournir le sens de base des divers principes. Cela me gêne vraiment. J'ai passé quelques jours à fouiller et je n'ai pas encore produit de résumé satisfaisant. La question de …
Supposons que nous ayons une liste d'entités de tâche et un ProjectTasksous-type. Les tâches peuvent être fermées à tout moment, à l'exception des tâches ProjectTasksqui ne peuvent pas être fermées une fois qu'elles ont le statut Lancé. L’interface utilisateur doit s’assurer que l’option de fermeture d’un espace ouvert ProjectTaskn’est jamais …
Si un carré est un type de rectangle, pourquoi ne peut-il pas hériter d'un rectangle? Ou pourquoi est-ce un mauvais design? J'ai entendu des gens dire: Si vous faites que les carrés dérivent du rectangle, alors un carré devrait être utilisable partout où vous vous attendez à un rectangle Quel …
J'aime SOLID et je fais de mon mieux pour l’utiliser et l’appliquer lorsque je me développe. Mais je ne peux pas m'empêcher de penser que l'approche SOLID transforme votre code en code 'framework' - le code que vous concevriez si vous créiez un framework ou une bibliothèque que d'autres développeurs …
Le principe de responsabilité unique est défini sur wikipedia comme suit : Le principe de responsabilité unique est un principe de programmation informatique qui stipule que chaque module, classe ou fonction doit avoir la responsabilité d'une partie des fonctionnalités fournies par le logiciel, responsabilité qui doit être entièrement encapsulée par …
Il semble que Java ait eu le pouvoir de déclarer des classes non-dérivables depuis des siècles, et maintenant, C ++ l’a aussi. Cependant, à la lumière du principe Open / Close de SOLID, pourquoi cela serait-il utile? Pour moi, le finalmot - clé sonne juste friend- il est légal, mais …
La plupart des projets sur lesquels je travaille considèrent le développement et les tests unitaires de manière isolée, ce qui fait de l'écriture de tests unitaires ultérieurement un cauchemar. Mon objectif est de garder à l'esprit les tests lors des phases de conception de haut niveau et de bas niveau. …
Quel est le but des conteneurs IOC? Les raisons combinées peuvent être simplifiées comme suit: Lorsque vous utilisez les principes de développement OOP / SOLID, l’injection de dépendance est compliquée. Soit vous avez les points d’entrée de premier niveau qui gèrent les dépendances pour plusieurs niveaux en dessous d’eux-mêmes et …
Au cours des dernières années, nous avons lentement commencé à adopter un code de mieux en mieux écrit, petit à petit. Nous commençons enfin à passer à quelque chose qui ressemble au moins à SOLID, mais nous n'en sommes pas encore là. Depuis le passage à l'acte, l'un des plus …
J'essaie de comprendre les principes SOLID de la programmation orientée objet et je suis parvenu à la conclusion que LSP et OCP présentaient certaines similitudes (sinon pour en dire plus). les états de principe ouvert / fermé "les entités logicielles (classes, modules, fonctions, etc.) devraient être ouvertes à extension, mais …
Mes collègues aiment dire que "la journalisation / la mise en cache / etc. Est une préoccupation transversale", puis continue en utilisant le singleton correspondant partout. Pourtant, ils aiment IoC et DI. Est-ce vraiment une excuse valable pour casser le principe SOLI D ?
J'essaie actuellement de comprendre SOLID. Donc, le principe d'inversion de dépendance signifie que deux classes quelconques doivent communiquer via des interfaces, pas directement. Exemple: Si class Aa une méthode qui attend un pointeur sur un objet de type class B, cette méthode devrait en fait attendre un objet de type …
Quand les principes SOLID deviennent-ils YAGNI? En tant que programmeurs, nous faisons constamment des compromis entre complexité, maintenabilité, temps de construction, etc. Entre autres, deux des directives les plus intelligentes pour faire des choix sont dans mon esprit les principes SOLID et YAGNI. Si vous n'en avez pas besoin ne …
Avec le temps, j'ai pu comprendre deux parties de SOLID : le «S» et le «O». “O” - J'ai appris le principe de fermeture ouvert à l'aide de l'héritage et du modèle de stratégie. "S" - J'ai appris le principe de responsabilité unique lors de l'apprentissage de l'ORM (la logique …
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.