46 liens privés
Tout est dans le titre
Tout est dans le titre
L'auteur montre une approche pour donner du sens aux valeurs manipulées par un programme, en les encapsulant dans un objet immutable. Par exemple, si on doit s'occuper d'une note entre 0 et 5, on crée un objet avec la propriété "rating" (dont on s'assure de la cohérence métier). Ensuite, en créant dans cet objet les méthodes toString() et valueOf(), on permet de réaliser des opérations - comme un affichage direct (toString) ou une addition (valueOf)
L'auteur montre l'intérêt de l'encapsulation des dépendances externes via des cas concrets issus de l'écosystème Symfony
En résumé de l'article :
- Les états globaux mutables doivent être évités à tout prix.
- On peut réduire le scope d'un état mutable - c'est le but - en passant cet état en tant qu'argument d'une fonction, en utilisant l'injection de dépendances ou des objets de contexte (similaires aux Value Objects).
- Les variables globales ne sont que le sommet de l'iceberg : le plus important est de respecter le principe d'encapsulation, et il y a plusieurs manières de ne pas le faire... Les états globaux mutables ne sont qu'un exemple extrême.
- Les états globaux immutables sont moins pires, mais il est préférable malgré tout de les éviter.
Tout est dans le titre
Il s'agit de l'encapsulation, de la composition, de l'héritage, des interfaces et des méthodes statiques...
Tout est dans le titre (via https://damien.pobel.fr/post/veille-semaine-13-2018/ )
Encapsuler une application ayant un protocole ne supportant pas SSL, dans un tunnel SSL