0% encontró este documento útil (0 votos)
91 vistas7 páginas

Patrones

Este documento describe el patrón de diseño Prototype mediante la implementación de una clase DocumentacionEnBlanco que almacena diferentes tipos de documentos y permite crear copias de ellos. Se crea una clase DocumentacionCliente que toma los documentos de la clase DocumentacionEnBlanco y los rellena con información específica de un cliente para generar documentación personalizada. El código muestra cómo visualizar y imprimir los documentos para diferentes clientes.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
91 vistas7 páginas

Patrones

Este documento describe el patrón de diseño Prototype mediante la implementación de una clase DocumentacionEnBlanco que almacena diferentes tipos de documentos y permite crear copias de ellos. Se crea una clase DocumentacionCliente que toma los documentos de la clase DocumentacionEnBlanco y los rellena con información específica de un cliente para generar documentación personalizada. El código muestra cómo visualizar y imprimir los documentos para diferentes clientes.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

ESCUELA ACADEMICA PROFESIONAL DE INGENIERIA

DE SISTEMAS E INFORMATICA

CURSO:
Patrones de Diseño de Software
TEMA:
Diseño del Patrón Prototype
CICLO:
V
ALUMNO:
Paredes De Paz Luis 0201614042
DOCENTE:
Ms. ING. YIM ISAIAS APESTEGUI FLORENTINO
AÑO:

2020
Patrón Prototype
Codificación:

//////////////////////////////////////////////////////

public class CertificadoCesion extends Documento {

@Override

public void visualiza(){

[Link]( "Muestra el Certificado de Cesión: " + contenido);

@Override

public void imprime(){

[Link]( "Imprime el Certificado de Cesión: " + contenido);

//////////////////////////////////////////////////////

import [Link];

public abstract class Documentacion {

protected List <Documento> documentos;

public List <Documento> getDocumentos(){

return documentos;

//////////////////////////////////////////////////////

import [Link].*;

public class DocumentacionCliente extends Documentacion {

public DocumentacionCliente(String informacion){

documentos = new ArrayList<Documento>();

DocumentacionEnBlanco documentacionEnBlanco = [Link]();

List<Documento> documentosEnBlanco = [Link]();

for (Documento doc: documentosEnBlanco) {

Documento copiaDocumento = [Link]();

[Link](informacion);
[Link](copiaDocumento);

public void visualiza(){

for (Documento doc: documentos) {

[Link]();

public void imprime(){

for (Documento doc: documentos) {

[Link]();

//////////////////////////////////////////////////////

import [Link];

public class DocumentacionEnBlanco extends Documentacion{

private static DocumentacionEnBlanco una_instance = null;

private DocumentacionEnBlanco(){

documentos = new ArrayList <Documento>();

public static DocumentacionEnBlanco Instancia(){

if (una_instance == null) {

una_instance = new DocumentacionEnBlanco();

return una_instance;

public void incluye(Documento doc){[Link](doc);}

public void excluye(Documento doc){[Link](doc);}

}
//////////////////////////////////////////////////////

public abstract class Documento implements Cloneable {

protected String contenido = new String();

public Documento duplica(){

Documento resultado;

try {

resultado = (Documento)[Link]();

catch(CloneNotSupportedException exception){

return null;

return resultado;

public void rellenar(String informacion){

contenido = informacion;

public abstract void imprime();

public abstract void visualiza();

//////////////////////////////////////////////////////

public class OrdendePedido extends Documento {

@Override

public void visualiza(){

[Link]("Muestra la Orden de Pedido: "+contenido);

@Override

public void imprime(){

[Link]("Imprime la Orden de Pedido: "+contenido);

//////////////////////////////////////////////////////
public class SolicitudMatriculacion extends Documento {

@Override

public void visualiza(){

[Link]( "Muestra la Solicitud de Matriculación: "+contenido);

@Override

public void imprime(){

[Link]( "Imprime la Solicitud de Matriculación: "+contenido);

//////////////////////////////////////////////////////

public class Usuario {

public static void main(String[] args) {

DocumentacionEnBlanco documentacionEnBlanco = [Link]();

[Link](new OrdendePedido());

[Link](new CertificadoCesion());

[Link](new SolicitudMatriculacion());
DocumentacionCliente documentacionCliente1 = new DocumentacionCliente("Luis");

DocumentacionCliente documentacionCliente2 = new DocumentacionCliente("Enrique");

[Link]("//////////////////////////////////////////////");

[Link]();

[Link]("//////////////////////////////////////////////");

[Link]();

[Link]("//////////////////////////////////////////////");

[Link]();

[Link]("//////////////////////////////////////////////");

[Link]();

[Link]("//////////////////////////////////////////////");
}
}

//////////////////////////////////////////////////////
PANTALLASO

También podría gustarte