Title: Implementación del Patrón Decorator · Issue #7 · flyworker/java-workshop · GitHub
Open Graph Title: Implementación del Patrón Decorator · Issue #7 · flyworker/java-workshop
X Title: Implementación del Patrón Decorator · Issue #7 · flyworker/java-workshop
Description: Objetivo Extender dinámicamente las funcionalidades de un objeto Vehicle sin modificar su estructura original, usando el patrón Decorator. Motivación En el proyecto, los vehículos (Vehicle) tienen comportamientos básicos. Se requiere agr...
Open Graph Description: Objetivo Extender dinámicamente las funcionalidades de un objeto Vehicle sin modificar su estructura original, usando el patrón Decorator. Motivación En el proyecto, los vehículos (Vehicle) tienen ...
X Description: Objetivo Extender dinámicamente las funcionalidades de un objeto Vehicle sin modificar su estructura original, usando el patrón Decorator. Motivación En el proyecto, los vehículos (Vehicle) tienen ...
Opengraph URL: https://github.com/flyworker/java-workshop/issues/7
X: @github
Domain: patch-diff.githubusercontent.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Implementación del Patrón Decorator","articleBody":"### **Objetivo**\r\nExtender dinámicamente las funcionalidades de un objeto Vehicle sin modificar su estructura original, usando el patrón Decorator.\r\n\r\n### **Motivación**\r\nEn el proyecto, los vehículos (Vehicle) tienen comportamientos básicos. Se requiere agregar características adicionales (como sensores o modos de conducción) sin modificar el código existente. El patrón Decorator permite añadir estas funcionalidades de forma flexible y reutilizable.\r\n\r\n### **Componentes**\r\n\r\n\u003e Vehicle (Interfaz):\r\n\u003e Define los métodos básicos: moveForward(), moveBackward(), turnLeft(), turnRight(), startEngine(), stopEngine().\r\n\u003e \r\n\u003e ConcreteComponent (Sedan, Truck):\r\n\u003e Implementan la interfaz Vehicle con comportamientos estándar.\r\n\u003e \r\n\u003e BaseDecorator (Abstract Class):\r\n\u003e Envuelve un objeto Vehicle y delega las llamadas a este.\r\n\u003e \r\n\u003e ConcreteDecorator (ExtraFeatureDecorator):\r\n\u003e Añade nuevas funcionalidades sobrescribiendo métodos como startEngine() y moveForward().\r\n\r\n### **Ventajas**\r\n- Extensión sin Modificar: Se añaden nuevas características sin cambiar el código original.\r\n- Flexibilidad: Permite combinar múltiples decoradores para añadir funcionalidades.\r\n- Reutilización: Los decoradores funcionan con cualquier objeto Vehicle.","author":{"url":"https://github.com/juzjuz10","@type":"Person","name":"juzjuz10"},"datePublished":"2024-12-17T00:47:47.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":1},"url":"https://github.com/7/java-workshop/issues/7"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:fa0fb071-bf60-53a4-e392-446e7efb9c9b |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | A350:7FB4E:222EED:2B1755:69921DE4 |
| html-safe-nonce | ed0cfb008ec76c11e100a08663cb28205cb1a8e81b60e5dc749015cdcf7b6b1a |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBMzUwOjdGQjRFOjIyMkVFRDoyQjE3NTU6Njk5MjFERTQiLCJ2aXNpdG9yX2lkIjoiNTk0OTE0OTkzODY2MzQzMTY1MyIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | e235140420dc34eaa667fcf2f7872b6fd9a8ff141b2730f11291d8fdef7a0078 |
| hovercard-subject-tag | issue:2743690483 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/flyworker/java-workshop/7/issue_layout |
| twitter:image | https://opengraph.githubassets.com/ef7ca0fe2e2b9ffbe8313fc1a4bff2229bd95766d4cf0b089d112f8289317a3a/flyworker/java-workshop/issues/7 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/ef7ca0fe2e2b9ffbe8313fc1a4bff2229bd95766d4cf0b089d112f8289317a3a/flyworker/java-workshop/issues/7 |
| og:image:alt | Objetivo Extender dinámicamente las funcionalidades de un objeto Vehicle sin modificar su estructura original, usando el patrón Decorator. Motivación En el proyecto, los vehículos (Vehicle) tienen ... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | juzjuz10 |
| hostname | github.com |
| expected-hostname | github.com |
| None | 42c603b9d642c4a9065a51770f75e5e27132fef0e858607f5c9cb7e422831a7b |
| turbo-cache-control | no-preview |
| go-import | github.com/flyworker/java-workshop git https://github.com/flyworker/java-workshop.git |
| octolytics-dimension-user_id | 8363795 |
| octolytics-dimension-user_login | flyworker |
| octolytics-dimension-repository_id | 100090200 |
| octolytics-dimension-repository_nwo | flyworker/java-workshop |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 100090200 |
| octolytics-dimension-repository_network_root_nwo | flyworker/java-workshop |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 848bc6032dcc93a9a7301dcc3f379a72ba13b96e |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width