Suche senden
Hochladen
01 J2EE patrones
•
Als PPT, PDF herunterladen
•
0 gefällt mir
•
846 views
juani ruiz
Folgen
Technologie
Melden
Teilen
Melden
Teilen
1 von 27
Jetzt herunterladen
Empfohlen
Anarchist guide to titanium ui
Anarchist guide to titanium ui
Vincent Baskerville
Ghost
Ghost
ESUG
Design patterns
Design patterns
Prawesh Shrestha
Pattern making
Pattern making
13023901-016
Design patterns tutorials
Design patterns tutorials
University of Technology
Design Pattern For C# Part 1
Design Pattern For C# Part 1
Shahzad
Industrial pattern making
Industrial pattern making
Hindustan University
Pattern making
Pattern making
Devanand Gehlot
Empfohlen
Anarchist guide to titanium ui
Anarchist guide to titanium ui
Vincent Baskerville
Ghost
Ghost
ESUG
Design patterns
Design patterns
Prawesh Shrestha
Pattern making
Pattern making
13023901-016
Design patterns tutorials
Design patterns tutorials
University of Technology
Design Pattern For C# Part 1
Design Pattern For C# Part 1
Shahzad
Industrial pattern making
Industrial pattern making
Hindustan University
Pattern making
Pattern making
Devanand Gehlot
Clarity in Documentation
Clarity in Documentation
Radhika Puthiyetath
Prophecy Of Design Patterns
Prophecy Of Design Patterns
pradeepkothiyal
Design Pattern Notes: Nagpur University
Design Pattern Notes: Nagpur University
Shubham Narkhede
Testing method pptx
Testing method pptx
02LabiqaIslam
Design_Patterns_Dr.CM.ppt
Design_Patterns_Dr.CM.ppt
C Meenakshi Meyyappan
Design pattern in Symfony2 - Nanos gigantium humeris insidentes
Design pattern in Symfony2 - Nanos gigantium humeris insidentes
Giulio De Donato
Make Me an Eclipse View (with less Plumbing): The PTP External Tools Framewor...
Make Me an Eclipse View (with less Plumbing): The PTP External Tools Framewor...
bethtib
Design patterns
Design patterns
mudabbirwarsi
Jump start to OOP, OOAD, and Design Pattern
Jump start to OOP, OOAD, and Design Pattern
Nishith Shukla
Jump Start To Ooad And Design Patterns
Jump Start To Ooad And Design Patterns
Lalit Kale
Evolution of Patterns
Evolution of Patterns
Chris Eargle
Using design pattern for mobile
Using design pattern for mobile
luca mezzalira
Designing a Development Environment for Logic and Multi-Paradigm Programming
Designing a Development Environment for Logic and Multi-Paradigm Programming
gpiancastelli
NeOn Tool Support for Building Ontologies By Reuse - ICBO 09
NeOn Tool Support for Building Ontologies By Reuse - ICBO 09
Mathieu d'Aquin
Singleton Design Pattern - Creation Pattern
Singleton Design Pattern - Creation Pattern
Seerat Malik
Introduction to Design Patterns and Singleton
Introduction to Design Patterns and Singleton
Jonathan Simon
Lecture11
Lecture11
artgreen
Singleton Object Management
Singleton Object Management
ppd1961
Onion (clean) architecture
Onion (clean) architecture
Business incubator Novi Sad
Gof design patterns
Gof design patterns
Srikanth R Vaka
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
sammart93
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
apidays
Weitere ähnliche Inhalte
Ähnlich wie 01 J2EE patrones
Clarity in Documentation
Clarity in Documentation
Radhika Puthiyetath
Prophecy Of Design Patterns
Prophecy Of Design Patterns
pradeepkothiyal
Design Pattern Notes: Nagpur University
Design Pattern Notes: Nagpur University
Shubham Narkhede
Testing method pptx
Testing method pptx
02LabiqaIslam
Design_Patterns_Dr.CM.ppt
Design_Patterns_Dr.CM.ppt
C Meenakshi Meyyappan
Design pattern in Symfony2 - Nanos gigantium humeris insidentes
Design pattern in Symfony2 - Nanos gigantium humeris insidentes
Giulio De Donato
Make Me an Eclipse View (with less Plumbing): The PTP External Tools Framewor...
Make Me an Eclipse View (with less Plumbing): The PTP External Tools Framewor...
bethtib
Design patterns
Design patterns
mudabbirwarsi
Jump start to OOP, OOAD, and Design Pattern
Jump start to OOP, OOAD, and Design Pattern
Nishith Shukla
Jump Start To Ooad And Design Patterns
Jump Start To Ooad And Design Patterns
Lalit Kale
Evolution of Patterns
Evolution of Patterns
Chris Eargle
Using design pattern for mobile
Using design pattern for mobile
luca mezzalira
Designing a Development Environment for Logic and Multi-Paradigm Programming
Designing a Development Environment for Logic and Multi-Paradigm Programming
gpiancastelli
NeOn Tool Support for Building Ontologies By Reuse - ICBO 09
NeOn Tool Support for Building Ontologies By Reuse - ICBO 09
Mathieu d'Aquin
Singleton Design Pattern - Creation Pattern
Singleton Design Pattern - Creation Pattern
Seerat Malik
Introduction to Design Patterns and Singleton
Introduction to Design Patterns and Singleton
Jonathan Simon
Lecture11
Lecture11
artgreen
Singleton Object Management
Singleton Object Management
ppd1961
Onion (clean) architecture
Onion (clean) architecture
Business incubator Novi Sad
Gof design patterns
Gof design patterns
Srikanth R Vaka
Ähnlich wie 01 J2EE patrones
(20)
Clarity in Documentation
Clarity in Documentation
Prophecy Of Design Patterns
Prophecy Of Design Patterns
Design Pattern Notes: Nagpur University
Design Pattern Notes: Nagpur University
Testing method pptx
Testing method pptx
Design_Patterns_Dr.CM.ppt
Design_Patterns_Dr.CM.ppt
Design pattern in Symfony2 - Nanos gigantium humeris insidentes
Design pattern in Symfony2 - Nanos gigantium humeris insidentes
Make Me an Eclipse View (with less Plumbing): The PTP External Tools Framewor...
Make Me an Eclipse View (with less Plumbing): The PTP External Tools Framewor...
Design patterns
Design patterns
Jump start to OOP, OOAD, and Design Pattern
Jump start to OOP, OOAD, and Design Pattern
Jump Start To Ooad And Design Patterns
Jump Start To Ooad And Design Patterns
Evolution of Patterns
Evolution of Patterns
Using design pattern for mobile
Using design pattern for mobile
Designing a Development Environment for Logic and Multi-Paradigm Programming
Designing a Development Environment for Logic and Multi-Paradigm Programming
NeOn Tool Support for Building Ontologies By Reuse - ICBO 09
NeOn Tool Support for Building Ontologies By Reuse - ICBO 09
Singleton Design Pattern - Creation Pattern
Singleton Design Pattern - Creation Pattern
Introduction to Design Patterns and Singleton
Introduction to Design Patterns and Singleton
Lecture11
Lecture11
Singleton Object Management
Singleton Object Management
Onion (clean) architecture
Onion (clean) architecture
Gof design patterns
Gof design patterns
Kürzlich hochgeladen
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
sammart93
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
apidays
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
The Digital Insurer
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
Andrey Devyatkin
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
MIND CTI
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Miguel Araújo
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
The Digital Insurer
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
lior mazor
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
apidays
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
Dropbox
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
apidays
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
Zilliz
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
DianaGray10
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Anna Loughnan Colquhoun
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
Khushali Kathiriya
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
MadyBayot
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
The Digital Insurer
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Deepika Singh
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
Nanddeep Nachan
Kürzlich hochgeladen
(20)
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
01 J2EE patrones
1.
Conceptos básicos
Patrones © Copyright 2011. All rights reserved. Ernesto del Puerto. 1
2.
Patrones de diseño
y de arquitectura Un arquitecto planifica los sistemas utilizando un proceso de razonamiento basado en patrones. Un arquitecto debe estar familiarizado con una variedad de catálogos de patrones para ser efectivo. Tipos de patrones: Los patrones de diseño definen la estructura y el comportamiento de componentes OO de software reutilizables que permitan realizar los requerimientos funcionales. Los patrones de arquitectura definen la estructura y el comportamiento del sistema y de los subsistemas para cumplimentar los requerimientos no funcionales © Copyright 2011. All rights reserved. Ernesto del Puerto 2
3.
Patrones de diseño
A software pattern is a “description of communicating objects and classes that are customized to solve a general design problem in a particular context.” (Gamma, Helm, Johnson, and Vlissides page 3) Está inspirado en los patrones de la arquitectura tradicional (construcción de edificios) Los elementos esenciales de un patrón son: Nombre Problema Solución Consecuencias © Copyright 2011. All rights reserved. Ernesto del Puerto 3
4.
Nivel de los
patrones de software Patrones de arquitectura: Ponen en manifiesto las estructuras de alto nivel de software y hardware Usualmente soportan los NFRs Patrones de diseño: Ponen en manifiesto las estructuras de nivel medio de software Usualmente soportan los FRs Idioms: Ponen en manifiesto las estructuras de bajo nivel de software (clases y metodos) Usualmente soportan funcionalidades específicas del lenguaje © Copyright 2011. All rights reserved. Ernesto del Puerto 4
5.
Los GoFs © Copyright
2011. All rights reserved. Ernesto del Puerto 5
6.
Patrones JEE © Copyright
2011. All rights reserved. Ernesto del Puerto 6
7.
Principio en los
patrones Existen varios principios para los patrones: Open Closed Principle (OCP) Composite Reuse Principle (CRP) Dependency Inversion Principle (DIP) Veamos el siguiente ejemplo: © Copyright 2011. All rights reserved. Ernesto del Puerto 7
8.
OCP – Open
Close Principle “Classes should be open for extension but closed for modification.” (Knoernschild page 8) © Copyright 2011. All rights reserved. Ernesto del Puerto 8
9.
CRP – Composite
Reuse Principle … “Favor polymorphic composition of objects over inheritance.” (Knoernschild página 17) © Copyright 2011. All rights reserved. Ernesto del Puerto 9
10.
… CRP –
Composite Reuse Principle CRP leads to flexible reuse through delegation © Copyright 2011. All rights reserved. Ernesto del Puerto 10
11.
DIP – Dependency
Inversion Principle … “Depend on abstractions. Do not depend on concretions.” (Knoernschild page 12) Una abstracción puede ser una clase abstracta © Copyright 2011. All rights reserved. Ernesto del Puerto 11
12.
… DIP –
Dependency Inversion Principle Una abstracción puede ser una interface © Copyright 2011. All rights reserved. Ernesto del Puerto 12
13.
Patrón Composite, descripción
… “Compose objects into tree structures to represent part-whole hierarchies. Composite lets clients treat individual objects and compositions of objects uniformly.” (GoF page 163) © Copyright 2011. All rights reserved. Ernesto del Puerto 13
14.
… Patrón Composite,
descripción … Problem (caracteristicas del problema): You want to represent whole-part hierarchies of objects You want to use the same interface on the assemblies and the components in an assembly Solution (caracteristicas de la solucion) : Create an abstract class, Component, that acts as the superclass for concrete “leaf” and Composite classes. The Composite class can be treated as a component because it supports the Component class interface. © Copyright 2011. All rights reserved. Ernesto del Puerto 14
15.
… Patrón Composite,
descripción … El modelo del patrón Composite de GoF © Copyright 2011. All rights reserved. Ernesto del Puerto 15
16.
… Patrón Composite,
descripción … Modelo alternativo del patrón Composite de GoF © Copyright 2011. All rights reserved. Ernesto del Puerto 16
17.
… Patrón Composite,
descripción … Participantes: Component (Gráfico): Declares the interface for objects in the composition Implements default behavior for the interface common to all classes, as appropriate Declares an interface for accessing and managing its child components Leaf (Rectángulo, Línea, Texto, etc): Represents leaf of objects in the composition. A leaf has no children Defines behavior for primitive objects in the composition © Copyright 2011. All rights reserved. Ernesto del Puerto 17
18.
… Patrón Composite,
descripción … Composite (Dibujo): Defines behavior for components having children Stores child components Implements child-related operations in the Component interface Client: Manipulates objects in the composition through the Component interface © Copyright 2011. All rights reserved. Ernesto del Puerto 18
19.
… Patrón Composite,
descripción Consequences: Makes the client simple Makes it easier to add new kinds of components Can make the design model too general © Copyright 2011. All rights reserved. Ernesto del Puerto 19
20.
Patrón Strategy, descripción
“Define a family of algorithms, encapsulate each one, and make them interchangeable. Strategy lets the algorithm vary independently from clients that use it.” (GoF page 315) © Copyright 2011. All rights reserved. Ernesto del Puerto 20
21.
Introducing Creational Patterns
Creational patterns hide the details of object creation. Pattern Primary Function Factory Method Creates objects of a class or its subclasses through a method call Abstract Factory Creates a family of objects through a single interface Singleton Restricts a class to one globally accessible instance © Copyright 2011. All rights reserved. Ernesto del Puerto 21
22.
Applying the Singleton
Pattern Example Problem The hotel system uses a pool of threads to invoke processing There should only be one instance of the thread pool so that all parts of the application are borrowing threads from the same pool The thread pool must be easily accessible throughout the application Problem Forces There are some classes that are intended to only have a single instance The single instance of a class may need to be easily accessible to different parts of the application The only way to secure a constructor is to hide it © Copyright 2011. All rights reserved. Ernesto del Puerto 22
23.
Singleton Pattern Structure
Three steps are needed to create a Singleton class: 1. The Singleton class’ constructor is private or protected, hiding it from client view 2. The Singleton class has a private static reference to the only instance of itself 3. The Singleton class has a public static method that returns the single instance © Copyright 2011. All rights reserved. Ernesto del Puerto 23
24.
Singleton structure code
public class Singleton { private static Singleton uniqueInstance; public static Singleton getInstance( ) { if (uniqueInstance == null) { uniqueInstance = new Singleton(); } return uniqueInstance; } private Singleton( ) { } //Add attributes and methods for class functionality } © Copyright 2011. All rights reserved. Ernesto del Puerto 24
25.
Singleton Pattern Example
Solution © Copyright 2011. All rights reserved. Ernesto del Puerto 25
26.
Applying the Singleton
Pattern Consequences Advantages: A client can easily obtain a reference to the single object A singleton can construct the instance at the class loading time or on-demand Singleton can guard several instances at once, not just one Disadvantages: Singleton can replace global variables, but this hint is often misapplied Singleton must make on-demand instances thread-safe © Copyright 2011. All rights reserved. Ernesto del Puerto 26
27.
Bibliografía
Design Petterns. Elements of Reusable Object-Oriented Software. E. Gamma, R. Helm, R. Johnson y J. Vlissides. Addison-Wesley. 32nd. Printing. April 2005. ISBN: 0201663612. SL-500. J2EE Patterns. Student Guide. Sun Education. Revision C. 2003. Patterns of Enterprise Application Architecture. Martin Fowler. Addison-Wesley. Thirteenth Printing. October 2007. ISBN: 0-321-12742-0. Head First Design Patterns. Eric y Elisabeth Freeman. O’Reilly. First Edition. October 2004. ISBN: 0-596-00712- 4. © Copyright 2011. All rights reserved. Ernesto del Puerto 27
Hinweis der Redaktion
Este material fue preparado especialmente para los cursos que organizó la SCEU de la UTN FRBA en el Campus correspondientes al proyecto Becas Control F desde fines de 2010 hasta principios de 2011.
Jetzt herunterladen