mirror of
https://github.com/tiennm99/java-design-patterns.git
synced 2026-09-04 08:19:33 +00:00
* Typo corrections * bridge pattern translated to spanish * builder pattern translated to spanish * context-object pattern translated to spanish * converter pattern translated to spanish * dependency injection pattern translated to spanish * factory pattern translated to spanish * factory-kit pattern translated to spanish * factory-method pattern translated to spanish * monostate pattern translated to spanish * multiton pattern translated to spanish * object mother pattern translated to spanish * object pool pattern translated to spanish * property pattern translated to spanish * prototype pattern translated to spanish * registry pattern translated to spanish * step builder pattern translated to spanish * value object pattern translated to spanish * typo corrections and resources urls refactor * grammar corrections * Add image to each pattern --------- Co-authored-by: luismateoh <luismateohm@gmail.com> Co-authored-by: luis.hincapie <luis.hincapie@blankfactor.com>
This commit is contained in:
co-authored by
luismateoh
luis.hincapie
parent
5c1ad5c006
commit
dc7495e8bd
@@ -1,9 +1,6 @@
|
||||
---
|
||||
layout: pattern
|
||||
title: Acyclic Visitor
|
||||
folder: acyclic-visitor
|
||||
permalink: /patterns/acyclic-visitor/
|
||||
categories: Behavioral
|
||||
category: Behavioral
|
||||
language: es
|
||||
tag:
|
||||
- Extensibility
|
||||
@@ -25,7 +22,7 @@ En otras palabras
|
||||
|
||||
[WikiWikiWeb](https://wiki.c2.com/?AcyclicVisitor) dice
|
||||
|
||||
> El patrón Acyclic Visitor permite que nuevas funciones sean añadidas a jerarquías de clases existentes sin afectar a las mismas, y sin crear los círculos de dependencias que son inherentes al patrón Visitor Pattern de GangOfFour.
|
||||
> El patrón Acyclic Visitor permite que nuevas funciones sean añadidas a jerarquías de clases existentes sin afectar a las mismas, y sin crear los círculos de dependencias que son inherentes al patrón de visitante (Visitor Pattern) de GangOfFour.
|
||||
|
||||
**Ejemplo Programático**
|
||||
|
||||
@@ -99,7 +96,7 @@ public class ConfigureForUnixVisitor implements ZoomVisitor {
|
||||
}
|
||||
```
|
||||
|
||||
Finalmente aquí están los "visitors" en acción.
|
||||
Finalmente, aquí están los "visitors" en acción.
|
||||
|
||||
```java
|
||||
var conUnix = new ConfigureForUnixVisitor();
|
||||
@@ -123,14 +120,14 @@ Output del programa:
|
||||
|
||||
## Diagrama de clases
|
||||
|
||||

|
||||

|
||||
|
||||
## Aplicación
|
||||
|
||||
Este patrón puede ser usado:
|
||||
|
||||
* Cuando necesitas añadir una nueva función a una jerarquía de clases sin que esta se vea afectada o alterada.
|
||||
* Cuando hay funciones que operan sobre la jerarquía pero no pertenecen a la jerarquía como tal. Las clases ConfigureForDOS / ConfigureForUnix / ConfigureForX por ejemplo.
|
||||
* Cuando hay funciones que operan sobre la jerarquía, pero no pertenecen a la jerarquía como tal. Las clases ConfigureForDOS / ConfigureForUnix / ConfigureForX por ejemplo.
|
||||
* Cuando necesitas ejecutar operaciones muy diferentes en un objeto dependiendo de su tipo.
|
||||
* Cuando la jerarquía visitada va a ser frecuentemente extendida con derivados de la clase elemento.
|
||||
* Cuando el proceso de volver a compilar, enlazar, probar o distribuir los derivados de la clase elemento es muy pesado.
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 48 KiB |
Reference in New Issue
Block a user