In software engineering, behavioral design patterns are design patterns that identify common communication patterns among objects. By doing so, these patterns increase flexibility in carrying out communication. Examples of this type of design pattern include: Blackboard design pattern Provides a computational framework for the design and implementation of systems that integrate large and diverse specialized modules, and implement complex, non-deterministic control strategies Chain of responsibility pattern Command objects are handled or passed on to other objects by logic-containing processing objects Command pattern Command objects encapsulate an action and its parameters "Externalize the stack" Turn a recursive function into an iterative function that uses a stack Interpreter pattern Implement a specialized computer language to rapidly solve a specific set of problems Iterator pattern Iterators are used to access the elements of an aggregate object sequentially without exposing its underlying representation Mediator pattern Provides a unified interface to a set of interfaces in a subsystem Memento pattern Provides the ability to restore an object to its previous state (rollback) Null object pattern Designed to act as a default value of an object Observer pattern a.k.a. Publish/Subscribe or Event Listener. Objects register to observe an event that may be raised by another object Weak reference pattern De-couple an observer from an observable Protocol stack Communications are handled by multiple layers, which form an encapsulation hierarchy Scheduled-task pattern A task is scheduled to be performed at a particular interval or clock time (used in real-time computing) Single-serving visitor pattern Optimise the implementation of a visitor that is allocated, used only once, and then deleted Specification pattern Recombinable business logic in a boolean fashion State pattern A clean way for an object to partially change its type at runtime Strategy pattern Algorithms can be selected on the fly, using composition Tem

À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
Cours associés (9)
MATH-611: Scientific programming for Engineers
The students will acquire a solid knowledge on the processes necessary to design, write and use scientific software. Software design techniques will be used to program a multi-usage particles code, ai
AR-301(ad): Studio BA5 (Delhay)
La maison comme une ville - Une Maisonnée pour 100 personnes organisées autour du repas et des saisons Voyage d'étude - Bâle: 28 Septembre au 1er Octobre
AR-401(ad): Studio MA1 (Delhay)
La maison comme une ville - Une Maisonnée pour 100 personnes organisées autour du repas et des saisons Voyage d'étude - Bâle: 28 Septembre au 1er Octobre
Afficher plus
Concepts associés (1)
Programmation orientée objet
La programmation orientée objet (POO), ou programmation par objet, est un paradigme de programmation informatique. Elle consiste en la définition et l'interaction de briques logicielles appelées objets ; un objet représente un concept, une idée ou toute entité du monde physique, comme une voiture, une personne ou encore une page d'un livre. Il possède une structure interne et un comportement, et il sait interagir avec ses pairs.

Graph Chatbot

Chattez avec Graph Search

Posez n’importe quelle question sur les cours, conférences, exercices, recherches, actualités, etc. de l’EPFL ou essayez les exemples de questions ci-dessous.

AVERTISSEMENT : Le chatbot Graph n'est pas programmé pour fournir des réponses explicites ou catégoriques à vos questions. Il transforme plutôt vos questions en demandes API qui sont distribuées aux différents services informatiques officiellement administrés par l'EPFL. Son but est uniquement de collecter et de recommander des références pertinentes à des contenus que vous pouvez explorer pour vous aider à répondre à vos questions.