| dbpprop:abstract
|
- In object-oriented programming and software engineering, the visitor design pattern is a way of separating an algorithm from an object structure upon which it operates. A practical result of this separation is the ability to add new operations to existing object structures without modifying those structures. Thus, using the visitor pattern helps conformance with the open/closed principle. In essence, the visitor allows one to add new virtual functions to a family of classes without modifying the classes themselves; instead, one creates a visitor class that implements all of the appropriate specializations of the virtual function. The visitor takes the instance reference as input, and implements the goal through double dispatch. While powerful, the visitor pattern is more limited than conventional virtual functions. It is not possible to create visitors for objects without adding a small callback method inside each class and the callback method in each of the classes is not inheritable.
- Der Besucher ist ein Entwurfsmuster aus dem Bereich der Softwareentwicklung und gehört zu der Kategorie der Verhaltensmuster (Behavioural Patterns). Es dient zum Kapseln von Operationen, die auf Elementen einer Objektstruktur ausgeführt werden. Neue Operationen können dadurch ohne Veränderung der betroffenen Elementklassen definiert werden. Das Muster ist eines der sogenannten GoF-Muster.
- Návrhový vzor Visitor umožňuje rozšiřovat možnosti objektu bez nutnosti modifikace jeho třídy, tento Návrhový vzor snaží o podobný cíl, jako AOP (Aspektově Orientované Programování).
- En programación orientada a objetos, el patrón visitor es una forma de separar el algoritmo de la estructura de un objeto. La idea básica es que se tiene un conjunto de clases elemento que conforman la estructura de un objeto. Cada una de estas clases elemento tiene un método aceptar (accept) que recibe al objeto visitador (visitor) como argumento. El visitador es una interfaz que tiene un método visit diferente para cada clase elemento; por tanto habrá implementaciones de la interfaz visitor de la forma: visitorClase1, visitorClase2... visitorClaseN. El método accept de una clase elemento llama al método visit de su clase. Clases concretas de un visitador pueden entonces ser escritas para hacer una operación en particular. Cada método visit de un visitador concreto puede ser pensado como un método que no es de una sola clase, sino de un par de clases: el visitador concreto y clase elemento particular. Así el patrón visitor simula el envío doble (en inglés éste término se conoce como Double-Dispatch) en un lenguaje convencional orientado a objetos de envío único (Single-Dispatch), como son Java o C++). El patrón visitor también especifica cómo sucede la interacción en la estructura del objeto. En su versión más sencilla, donde cada algoritmo necesita iterar de la misma forma, el método accept de un elemento contenedor, además de una llamada al método visit del objeto visitor, también pasa el objeto visitor como argumento al llamar al método accept de todos sus elementos hijos. Este patrón es ampliamente utilizado en intérpretes, compiladores y procesadores de lenguajes, en general.
- En programmation orientée objet, génie logiciel et accessoirement en MITIC, le motif de conception visiteur est une manière de séparer un algorithme de la structure d'un objet. Ce modèle de conception permet à une classe externe d'accéder aux variables internes d'autres classes (allant à l'encontre des concepts de la POO). Ce modèle est utile lorsqu'on a un nombre raisonnable d'instances d'un petit nombre de classes et qu'on désire effectuer des opérations qui les impliquent tous (ou un bon nombre d'entre eux). Si déporter des opérations contenues dans une classe vers une autre peut sembler mauvais au sens POO, il y a de bonnes raisons pour le faire. En effet, si ces opérations sont identiques pour chaque classe au lieu de dupliquer cette méthode il est préférable de mettre ces opérations dans un visiteur (centralisation de l'opération). Le visiteur utilisera ensuite les données internes de chaque objet pour effectuer l'opération demandée. En pratique, le modèle de conception visiteur est réalisé de la façon suivante : chaque classe pouvant être « visitée » doit mettre à disposition une méthode publique « accepter » prenant comme argument un objet du type « visiteur ». La méthode « accepter » appellera la méthode « visite » de l'objet du type « visiteur » avec pour argument l'objet visité. De cette manière, un objet visiteur pourra connaître la référence de l'objet visité et appeler ses méthodes publiques pour obtenir les données nécessaires au traitement à effectuer (calcul, génération de rapport, etc.)
- Il Visitor è un design pattern comportamentale utilizzato in informatica nella programmazione orientata agli oggetti. Permette di separare un algoritmo dalla struttura di oggetti composti a cui è applicato, in modo da poter aggiungere nuove operazioni e comportamenti senza dover modificare la struttura stessa.
- Visitor パターンは、オブジェクト指向プログラミング およびソフトウェア工学 において、 アルゴリズムをオブジェクトの構造から分離するためのデザインパターンである。分離による実用的な結果として、既存のオブジェクトに対する新たな操作を構造を変更せずに追加することができる。 基本的には Visitor パターンは一群のクラスに対して新たな仮想関数をクラス自体を変更せずに追加できるようにする。そのために、全ての仮想関数を適切に特化させた Visitor クラスを作成する。Visitor はインスタンスへの参照を入力として受け取り、ダブルディスパッチを用いて目的を達する。 Visitor は強力であるが、既存の仮想関数と比較して制限もある。各クラス内に小さなコールバックメソッドを追加する必要があり、各クラスのコールバックメソッドは新たなサブクラスで継承することができない。
- Wzorzec wizytatora (inaczej odwiedzającego) to w inżynierii oprogramowania wzorzec projektowy, którego zadaniem jest odseparowanie algorytmu od struktury obiektowej. Praktycznym rezultatem tego odseparowania jest możliwość dodawania nowych operacji do aktualnych struktur obiektu bez koniecznosci ich modyfikacji. Główną ideą jest struktura elementarnych klas, z której każda posiada metodę accept która pobiera jako parametr obiekt visitor. Obiekt visitor jest interfejsem, który posiada metodę visit w każdej elementarnej klasie. Metoda accept wywołuje metodę visit z obiektu visitor.
- Em programação orientada a objetos e engenharia de software, o visitor pattern é um padrão de projeto comportamental. Representa uma operação a ser realizada sobre elementos da estrutura de um objeto. O Visitor permite que se crie um nova operação sem que se mude a classe dos elementos sobre as quais ela opera. É uma maneira de separar um algoritmo da estrutura de um objeto. Um resultado prático é a habilidade de adicionar novas funcionalidades a estruturas de um objeto pré-existente sem a necessidade de modificá-las. A idéia é usar uma classe de elementos como uma estrutura, sendo que cada uma delas possui um método cujo um dos argumentos é um objeto do tipo visitor. Visitor é uma interface que possui um método visit para cada classe de elementos. O método accept de uma classe de elementos invoca o método visit de sua respectiva classe. Classes visitor concretas distintas podem então ser escritas para implementar operações especiais. O padrão Visitor é uma solução para separar o algoritmo da estrutura. Uma das vantagens desse padrão é a habilidade de adicionar novas operações a uma estrutura já existente. Com ele, podemos ter a classe ObjetoSolido e o comportamento de queda em uma classe Gravidade, separada da estrutura do ObjetoSolido. Isso é feito através de uma interface, onde o objeto que vai executar esse método da classe do comportamento, passa uma referencia dela mesmo junto dos parâmetros normais da classe. No caso desse exemplo, teríamos: Visitor gravidade = new Gravidade; //esse é o nosso visitor, responsável pelo comportamento de queda. Solido solido = new Solido("caixa"); //solido que recebera o comportamento solido. accept(gravidade); //recebe o comportamento Gravidade Internamente, o método accept(Visitor visitor) de Solido faz o seguinte: public void accept(Visitor visitor) { visitor. visitSolido(this); Ao passar para o Visitor uma referencia de si mesmo, o visitor pode acessar os métodos e atributos públicos dessa classe, que no nosso caso, vai adicionar a aceleração da gravidade ao Solido. Assim como o comportamento de queda foi adicionado, outros também poderiam ser feitos da mesma maneira, como movimentação através do teclado, sons... as possibilidades são infinitas.
- Шаблон Visitor(также известный как Посетитель) – Шаблон проектирования Поведенческий шаблон (Behavioral). Описывает операцию, которая выполняется над объектами других классов. При изменении Visitor нет необходимости изменять обслуживаемые классы.
- 访问者模式是一种将算法与对象结构分离的软件设计模式。 这个模式的基本想法如下:首先我们拥有一个由许多对象构成的对象结构,这些对象的类都拥有一个accept方法用来接受访问者对象;访问者是一个接口,它拥有一个visit方法,这个方法对访问到的对象结构中不同类型的元素作出不同的反应;在对象结构的一次访问过程中,我们遍历整个对象结构,对每一个元素都实施accept方法,在每一个元素的accept方法中回调访问者的visit方法,从而使访问者得以处理对象结构的每一个元素。我们可以针对对象结构设计不同的实在的访问者类来完成不同的操作。 访问者模式使得我们可以在传统的单分派语言(如Smalltalk、Java和C++)中模拟双分派技术。对于支持多分派的语言(如CLOS),访问者模式已经内置于语言特性之中了,从而不再重要。
|
| rdfs:comment
|
- In object-oriented programming and software engineering, the visitor design pattern is a way of separating an algorithm from an object structure upon which it operates. A practical result of this separation is the ability to add new operations to existing object structures without modifying those structures. Thus, using the visitor pattern helps conformance with the open/closed principle.
- Der Besucher ist ein Entwurfsmuster aus dem Bereich der Softwareentwicklung und gehört zu der Kategorie der Verhaltensmuster (Behavioural Patterns). Es dient zum Kapseln von Operationen, die auf Elementen einer Objektstruktur ausgeführt werden. Neue Operationen können dadurch ohne Veränderung der betroffenen Elementklassen definiert werden. Das Muster ist eines der sogenannten GoF-Muster.
- Návrhový vzor Visitor umožňuje rozšiřovat možnosti objektu bez nutnosti modifikace jeho třídy, tento Návrhový vzor snaží o podobný cíl, jako AOP (Aspektově Orientované Programování).
- En programación orientada a objetos, el patrón visitor es una forma de separar el algoritmo de la estructura de un objeto. La idea básica es que se tiene un conjunto de clases elemento que conforman la estructura de un objeto. Cada una de estas clases elemento tiene un método aceptar (accept) que recibe al objeto visitador (visitor) como argumento.
- En programmation orientée objet, génie logiciel et accessoirement en MITIC, le motif de conception visiteur est une manière de séparer un algorithme de la structure d'un objet. Ce modèle de conception permet à une classe externe d'accéder aux variables internes d'autres classes (allant à l'encontre des concepts de la POO).
- Il Visitor è un design pattern comportamentale utilizzato in informatica nella programmazione orientata agli oggetti. Permette di separare un algoritmo dalla struttura di oggetti composti a cui è applicato, in modo da poter aggiungere nuove operazioni e comportamenti senza dover modificare la struttura stessa.
- Wzorzec wizytatora (inaczej odwiedzającego) to w inżynierii oprogramowania wzorzec projektowy, którego zadaniem jest odseparowanie algorytmu od struktury obiektowej. Praktycznym rezultatem tego odseparowania jest możliwość dodawania nowych operacji do aktualnych struktur obiektu bez koniecznosci ich modyfikacji. Główną ideą jest struktura elementarnych klas, z której każda posiada metodę accept która pobiera jako parametr obiekt visitor.
- Em programação orientada a objetos e engenharia de software, o visitor pattern é um padrão de projeto comportamental. Representa uma operação a ser realizada sobre elementos da estrutura de um objeto. O Visitor permite que se crie um nova operação sem que se mude a classe dos elementos sobre as quais ela opera. É uma maneira de separar um algoritmo da estrutura de um objeto.
- Шаблон Visitor(также известный как Посетитель) – Шаблон проектирования Поведенческий шаблон (Behavioral). Описывает операцию, которая выполняется над объектами других классов. При изменении Visitor нет необходимости изменять обслуживаемые классы.
|