Skip to content

Commit be9cc28

Browse files
committed
ejercicio adicional sin isp
1 parent 2b17f6f commit be9cc28

File tree

1 file changed

+106
-0
lines changed

1 file changed

+106
-0
lines changed

Roadmap/29 - SOLID ISP/java/simonguzman.java

+106
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,117 @@ public class simonguzman {
22
public static void main(String[] args) {
33
exampleNoIsp();
44
exampleIsp();
5+
adittionalExerciseNoIsp();
56
}
67

78
/******************************** Ejercicio adicional con isp ********************************/
9+
static void adittionalExerciseIsp(){
10+
Printer blackAndWhitePrinter = new BlackAndWhitePrinter();
11+
blackAndWhitePrinter.print("Documento en blanco y negro");
12+
13+
ColorPrinter colorPrinter = new ColorOnlyPrinter();
14+
colorPrinter.printColor("Documento a color");
15+
16+
MultiFunctionPrinter multiFunctionPrinter = new MultiFunctionPrinter();
17+
18+
multiFunctionPrinter.print("Documento multifunción en blanco y negro");
19+
multiFunctionPrinter.printColor("Documento multifunción a color");
20+
multiFunctionPrinter.scan("Escaneando un documento");
21+
multiFunctionPrinter.sendFax("Enviando fax del documento");
22+
23+
}
24+
static interface Printer {
25+
void print(String content);
26+
}
27+
28+
static interface ColorPrinter {
29+
void printColor(String content);
30+
}
31+
32+
static interface Scanner {
33+
void scan(String content);
34+
}
35+
36+
static interface Fax {
37+
void sendFax(String content);
38+
}
39+
40+
static class BlackAndWhitePrinter implements Printer {
41+
@Override
42+
public void print(String content) {
43+
System.out.println("Imprimiendo en blanco y negro: " + content);
44+
}
45+
}
46+
47+
static class ColorOnlyPrinter implements ColorPrinter {
48+
@Override
49+
public void printColor(String content) {
50+
System.out.println("Imprimiendo a color: " + content);
51+
}
52+
}
53+
54+
static class MultiFunctionPrinter implements Printer, ColorPrinter, Scanner, Fax {
55+
@Override
56+
public void print(String content) {
57+
System.out.println("Imprimiendo en blanco y negro: " + content);
58+
}
59+
60+
@Override
61+
public void printColor(String content) {
62+
System.out.println("Imprimiendo a color: " + content);
63+
}
64+
65+
@Override
66+
public void scan(String content) {
67+
System.out.println("Escaneando: " + content);
68+
}
69+
70+
@Override
71+
public void sendFax(String content) {
72+
System.out.println("Enviando fax: " + content);
73+
}
74+
}
75+
876

977
/******************************** Ejercicio adicional sin isp ********************************/
78+
static void adittionalExerciseNoIsp(){
79+
UniversalPrinter basicPrinter = new BasicPrinter();
80+
81+
basicPrinter.print("Documento básico en blanco y negro");
82+
basicPrinter.printColor("Intentando imprimir a color (no soportado)");
83+
basicPrinter.scan("Intentando escanear (no soportado)");
84+
basicPrinter.sendFax("Intentando enviar fax (no soportado)");
85+
}
86+
87+
static interface UniversalPrinter {
88+
void print(String content);
89+
void printColor(String content);
90+
void scan(String content);
91+
void sendFax(String content);
92+
}
93+
94+
static class BasicPrinter implements UniversalPrinter {
95+
@Override
96+
public void print(String content) {
97+
System.out.println("Imprimiendo en blanco y negro: " + content);
98+
}
99+
100+
@Override
101+
public void printColor(String content) {
102+
// No soportado por esta impresora
103+
}
104+
105+
@Override
106+
public void scan(String content) {
107+
// No soportado por esta impresora
108+
}
109+
110+
@Override
111+
public void sendFax(String content) {
112+
// No soportado por esta impresora
113+
}
114+
}
115+
10116

11117
/******************************** Ejemplo con isp ********************************/
12118
static void exampleIsp(){

0 commit comments

Comments
 (0)