php设计模式 State (状态模式)
复制代码 代码如下:
/**
* 状态模式
*
* 允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它所属的类
*
*/
interface State
{
public function handle($state);
public function display();
}
class Context
{
private $_state = null;
public function __construct($state)
{
$this->setState($state);
}
public function setState($state)
{
$this->_state = $state;
}
public function request()
{
$this->_state->display();
$this->_state->handle($this);
}
}
class StateA implements State
{
public function handle($context)
{
$context->setState(new StateB());
}
public function display()
{
echo "state A
";
}
}
class StateB implements State
{
public function handle($context)
{
$context->setState(new StateC());
}
public function display()
{
echo "state B
";
}
}
class StateC implements State
{
public function handle($context)
{
$context->setState(new StateA());
}
public function display()
{
echo "state C
";
}
}
// 实例化一下
$objContext = new Context(new StateB());
$objContext->request();
$objContext->request();
$objContext->request();
$objContext->request();
$objContext->request();

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds



Fonction signifie fonction. Il s'agit d'un bloc de code réutilisable avec des fonctions spécifiques. C'est l'un des composants de base d'un programme. Il peut accepter des paramètres d'entrée, effectuer des opérations spécifiques et renvoyer des résultats. code pour améliorer la réutilisabilité et la maintenabilité du code.

Chaque année, avant qu'Apple ne publie une nouvelle version majeure d'iOS et de macOS, les utilisateurs peuvent télécharger la version bêta plusieurs mois à l'avance pour en faire l'expérience en premier. Étant donné que le logiciel est utilisé à la fois par le public et par les développeurs, Apple a lancé des versions développeur et publique, qui sont des versions bêta publiques des versions bêta développeur, pour les deux. Quelle est la différence entre la version développeur et la version publique d’iOS ? Littéralement parlant, la version développeur est une version bêta développeur et la version publique est une version bêta publique. La version développeur et la version publique ciblent des publics différents. La version développeur est utilisée par Apple pour les tests par les développeurs. Vous avez besoin d'un compte développeur Apple pour la télécharger et la mettre à niveau.

Le contexte est l'environnement et les informations d'état lorsque le programme est exécuté. Il peut inclure diverses informations, telles que la valeur des variables, la pile d'appels de fonctions, l'emplacement d'exécution du programme, etc., permettant au programme d'effectuer les correspondances. décisions basées sur différents contextes et effectuer les opérations correspondantes.

Comment utiliser le contexte pour implémenter la mise en cache des requêtes dans Go Introduction : Lors de la création d'applications Web, nous avons souvent besoin de mettre en cache les requêtes pour améliorer les performances. Dans le langage Go, nous pouvons utiliser le package de contexte pour implémenter la fonction de mise en cache des requêtes. Cet article expliquera comment utiliser le package de contexte pour implémenter la mise en cache des requêtes et fournira des exemples de code pour aider les lecteurs à mieux comprendre. Qu’est-ce que le contexte ? : En langage Go, le package de contexte fournit un moyen de passer entre plusieurs goroutines

Comment utiliser le contexte pour implémenter le suivi des liens de demande dans Go Dans l'architecture des microservices, le suivi des liens de demande est une technologie très importante utilisée pour suivre la livraison et le traitement d'une demande entre plusieurs microservices. Dans le langage Go, nous pouvons utiliser le package de contexte pour implémenter le suivi des liens de demande. Cet article explique comment utiliser le contexte pour le suivi des liens de demande et donne des exemples de code. Tout d’abord, nous devons comprendre les concepts de base et l’utilisation du package contextuel. Le package de contexte fournit un mécanisme

Le package de contexte dans le langage Go est utilisé pour transmettre des informations contextuelles de requête dans le programme. Il peut transmettre des paramètres, intercepter des requêtes et annuler des opérations entre des fonctions sur plusieurs Goroutines. Pour utiliser le package de contexte dans Go, nous devons d'abord importer le package "context". Vous trouverez ci-dessous un exemple qui montre comment utiliser le package de contexte pour implémenter le passage des paramètres de requête. packagemainimport("contexte"

Comment utiliser le contexte pour implémenter le contrôle du délai d'expiration des requêtes dans Go Introduction : Lorsque nous effectuons des requêtes réseau, nous rencontrons souvent des problèmes de délai d'expiration des requêtes. Une requête réseau qui ne répond pas pendant une longue période gaspillera non seulement les ressources du serveur, mais affectera également les performances globales. Afin de résoudre ce problème, le langage Go a introduit le package contextuel, qui peut être utilisé pour implémenter le contrôle du délai d'attente des requêtes. Cet article expliquera comment utiliser le package de contexte pour implémenter le contrôle du délai d'expiration des requêtes dans Go et joindra des exemples de code correspondants. 1. Comprendre le contexte du package co

Dans cet article, nous découvrirons la fonction enumerate() et le but de la fonction « enumerate() » en Python. Qu'est-ce que la fonction enumerate() ? La fonction enumerate() de Python accepte une collection de données comme paramètre et renvoie un objet d'énumération. Les objets d'énumération sont renvoyés sous forme de paires clé-valeur. La clé est l'index correspondant à chaque élément, et la valeur est les éléments. Syntaxe enumerate(iterable,start) Paramètres iterable - Les données transmises dans la collection peuvent être renvoyées sous forme d'objet d'énumération, appelé iterablestart - Comme son nom l'indique, l'index de départ de l'objet d'énumération est défini par start. si nous ignorons
