Difference between revisions of ""Simple" Factory (padrão de desenho)"

From Wiki**3

(Utilizando Informação de Tempo de Execução)
Line 3: Line 3:
 
O padrão "simple" factory fornece uma forma de criar objectos a partir de uma descrição externa.
 
O padrão "simple" factory fornece uma forma de criar objectos a partir de uma descrição externa.
  
Os exemplos abaixo correspondem a conversões de cadeias de caracteres ("strings") para objectos.
+
O processo de criação de objectos a partir de texto é um processo semelhante à compilação e implica interpretar esse texto e construir a semântica.
  
== Utilizando Informação de Tempo de Execução ==
+
== Utilização de Método Independente da Linguagem ==
 +
 
 +
 
 +
 
 +
== Utilizando Informação de Tipos em Tempo de Execução ==
  
 
Neste caso, apresenta-se a criação dinâmica de objectos de um determinado tipo, a partir de descrições textuais desses objectos.
 
Neste caso, apresenta-se a criação dinâmica de objectos de um determinado tipo, a partir de descrições textuais desses objectos.

Revision as of 11:38, 14 November 2013

[Expand] Programação com Objectos
Introduction
Creation and Destruction
Inheritance & Composition
Abstraction & Polymorphism
Code Organization
Java Topics
Inner Classes
Enumerations
Data Structures
Exceptions
Input/Output
RTTI
Other Topics
JUnit Tests
UML Topics
Design Patterns
"Simple" Factory
Composite & Visitor
Command
Strategy & State
Template Method
Observer
Abstract Factory
Decorator & Adapter
Façade (aka Facade)

O padrão "simple" factory fornece uma forma de criar objectos a partir de uma descrição externa.

O processo de criação de objectos a partir de texto é um processo semelhante à compilação e implica interpretar esse texto e construir a semântica.

Utilização de Método Independente da Linguagem

Utilizando Informação de Tipos em Tempo de Execução

Neste caso, apresenta-se a criação dinâmica de objectos de um determinado tipo, a partir de descrições textuais desses objectos.

Este exemplo utiliza informação de tipos em tempo de execução. Note-se que este tipo de abordagem apenas é possível em linguagens que providenciem este tipo de informação em tempo de execução, como é o caso do Java.