How Drupal helps us bake accessibility into every project

As developers and designers working to help government agencies modernize their IT systems and websites, we are constantly aware of the far-reaching impact of our work. Many people stand to benefit…

Smartphone

独家优惠奖金 100% 高达 1 BTC + 180 免费旋转




Les principes du design objet

Un bon logiciel orienté objet est caractérisé entre autre par la qualité du design de ses briques de base, de l’interaction entre ses différentes briques logicielles, de sa capacité à auto-gérer ses dépendances, de son habileté à évoluer et de sa facilité de compréhension, d’utilisation, … .

Pour concevoir de tels logiciels (qui ne sont ni rigides, ni fragiles, ni immobiles et ni visqueux), plusieurs principes ont vu le jour depuis la naissance du paradigme orienté objet et se sont affinés au fur et à mesure des challenges aux quels a fait face cette révolution dans le domaine du génie logiciel, principes, qui aujourd’hui sont encore soit inconnus de la nouvelle vague de développeurs orientés objets, soit mal appliqués par certains vétérans du code.

La famille des principes SOLID est à un artisan du logiciel ce que sont les fondations à un architecte de bâtiments. Ces principes visent à rendre un logiciel maintenable, testable et évolutifs. SOLID désigne les cinq principes suivant:

Énoncé:

A première vue, cette classe semble correcte, car si les spécification étaient de stocker les logs dans une base de donnée MariaDB et de les afficher en même temps sur la console, elle fait largement son boulot. Toutefois, on voit clairement qu’on peut avoir plus d’une raison de modifier cette classe:

En effet, imaginez une seconde que cette classe soit utiliser par d’autres applications (Classes) ayant des besoins différents, par exemple une d’entre elles souhaitant simplement afficher les logs dans la console, une autre souhaitant stocker les logs dans une base de données, une autre dans un fichier, …; le simple changement de cette classe Logger.java, devra entraîner l’adaptation, la ré-compilation, le test et le redéploiement de toutes les classes qui l’utilisent. La solution pour remédier à ce problème de couplage entre les responsabilité est de respecter le SRP en dédiant une classe générique pour la persistance des données, une autre pour l’affichage, … et la classe Logger sera simplement un objet composé (comme notre serrure). Pour les autres composants du système qui souhaitent utiliser le stockage dans la base de donnée, ils utiliseront uniquement la classe dédiée à ce travail, ainsi de suite.

Add a comment

Related posts:

5 Amazing Tips to Get Your Dream Job in 2020

While many of us are determined to modify jobs, getting hunted by the recruiters becomes more and tougher . Here are a couple of tips to stay in mind if you’re considering employment change in 2020…

What to wear to the Gym?

Today I am gonna go over some of the best gym outfits you can wear during your workouts and stay motivated during your workouts ( I would be listing down my personal gym essentials at the end of this…

How to Build Successful Mobile Apps using Big Data?

Going by the current reports, the number of users for smartphones is going to hit a whopping 3.8 billion by the year 2021. This sweeping increase in the number of smartphone users has also led to a…