Utilisation Conjointe de Singleton et Fabrique Méthode en Python
Introduction
Dans le développement logiciel, combiner des patrons de conception permet de créer des architectures robustes et flexibles. Une interrogation fréquente en Python est de savoir si l'on peut associer le patron de conception Singleton avec le patron de la Méthode de Fabrique. L'objectif serait de garantir qu'il n'existe qu'une seule i ...
Publié le 13 juillet à 23h21
Encapsulation en Programmation Orientée Objet
L'encapsulation en programmation orientée objet consiste à regrouper les données et les méthodes qui les manipulent au sein d'une même entité, tout en contrôlant l'accès externe. Cela va au-delà de la simple dissimulation des détails internes.
Dissimulation des attributs en Python
En Python, on peut rendre des attributs privés en les préfixant ...
Publié le 13 juillet à 22h06
Le décorateur @property en Python
class Pupil:
def __init__(self, grade):
self.grade = grade
p1 = Pupil(50)
p1.grade = 85 # Accès direct à l'attribut
print(p1.grade) # Résultat : 85
p2 = Pupil(120)
print(p2.grade) # Résultat : 120, une note ne devrait pas dépasser 100
Pour restreindre l'accès direct, on rend l'attribut privé en le préfixant d'un double undersc ...
Publié le 12 juillet à 01h53
Modèle de conception 02 - Méthode d'usine
Définition
Définir une interface pour la création d'objets produits, laissant les sous-classes décider quelle classe instancier. Le travail de création effectif estReporté aux sous-classes.
Diagramme UML
Exemple concret
Premier exemple.
Commençons par la classe de produit abstrait
package com.exemple.pattern;
/**
* Interface de pro ...
Publié le 12 juillet à 00h50
Modèle de stratégie en programmation orientée objet
Définition : Le modèle de stratégie définit une famille d'algorithmes, les encapsulate séparément, et permet de les remplacer les uns par les autres. Ce modèle permet de modifier les algorithmes sans impacter les clients qui les utilisent.
Cette définition peut sembler abstraite. Eaxminons un exemple concret pour mieux compréhension ce pattern. ...
Publié le 7 juillet à 00h50
Programmation Orientée Objet en Java
La programmation orientée objet (POO) est un paradigme fondamental en Java. Ce guide explore ses concepts clés.
1. Classes et Objets
1.1 Définition et utilisation d'une classe
Une classe est un modèle qui définit les propriétés (attributs) et les comportements (méthodes) d'un type d'objet. Un objet est une instance concrète de cette classe.
// ...
Publié le 4 juillet à 17h54
Structures de données — Pile et File — La Pile
Table des matières
Introduction
Définition de la pile
Type de données abstrait de la pile
Implémentation par tableau séquentiel
Implémentation par liste chaînée
Conclusion
Introduction
La pile est une structure de données linéaire où les opérations d'insertion et de suppression sont limitées à une seule extrémité. La file, quant à elle, perme ...
Publié le 28 juin à 23h02
Maîtrise des fondamentaux de la programmation Python
Configuration de l'encodage
Bien que Python 3 utilise par défaut l'encodage UTF-8, il est parfois nécessaire de spécifier explicitement l'encodage des fichiers sources pour garantir la compatibilité, notamment lors de l'utilisation de caractères spéciaux. On insère alors cette ligne en tout début de script :
# -*- coding: utf-8 -*-
Structures ...
Publié le 26 juin à 21h22
Différences entre Interfaces et Classes Abstraites en Java
Différences fondamentales entre Interfaces et Classes Abstraites
Classes Abstraites
Une classe abstraite permet de modéliser des entités partageant des caractéristiques communes, tant au niveau des attributs que des comportements. Prenons l'exemple de différents types de véhicules :
public abstract class Vehicule {
double poids;
double vi ...
Publié le 18 juin à 18h04
Maîtrise de la Surcharge des Opérateurs en C++
Introduction à la surcharge d'opérateurs
La surcharge d'opérateurs en C++ permet de redéfinir le comportement des opérateurs standards afin qu'ils puissent interagir avec des types de données définis par l'utilisateur. Cette fonctionnalité améliore considérablement la lisibilité du code en permettant d'utiliser une syntaxe mathématique ou logiq ...
Publié le 18 juin à 01h49