interfaz pública BasFunc {
inicio public void (String mensaje);
apagado public void (String mensaje);
}
clase pública implementa BasFunImp BasFunc {
Cadena startInfo privado;
shutdownInfo cadena privada;
@ Override
inicio public void (String mensaje) {
generada automáticamente // TODO Stub
startInfo = mensaje;
System.out.println (startInfo);
}@ Override
pública apagado void (String mensaje) {
generada automáticamente // TODO Stub
shutdownInfo = mensaje;
System.out.println (shutdownInfo);
}
}
la clase de CPU del implementos BasFunc {public
// añadir más necesidades de negocio si la fuente o acciones para lograr granular
privada BasFunc Core;
pública la CPU () {
this.core nueva nueva BasFunImp = ();
}
@Override
public void inicio (String mensaje) {
// el autogenerado TODO Método del trozo
core.startup (Mensaje);
}@ Override
pública apagado void (String mensaje) {
// generada automáticamente TODO método talón de
core.shutdown (mensaje);
}
}
//
la clase de disco implementos BasFunc {public
// añadir más necesidades de negocio si la fuente o acciones para lograr granular
privada BasFunc Core;
pública de disco () {
this.core nueva nueva BasFunImp = ();
}
@Override
public void inicio (String mensaje) {
// el autogenerado TODO Método del trozo
core.startup (Mensaje);
}@ Override
pública apagado void (String mensaje) {
// generada automáticamente TODO método talón de
core.shutdown (mensaje);
}
}
//
clase de memoria los implementos BasFunc {public
// añadir más necesidades de negocio si la fuente o acciones para lograr granular
privada BasFunc Core;
la memoria pública () {
this.core nueva nueva BasFunImp = ();
}
@Override
public void inicio (String mensaje) {
// el autogenerado TODO Método del trozo
core.startup (Mensaje);
}@ Override
pública apagado void (String mensaje) {
// generada automáticamente TODO método talón de
core.shutdown (mensaje);
}
}
Clase de equipo {públicas
cueros // la complejidad del sistema para el cliente proporciona una interfaz puede acceder al sistema. Este tipo de patrones de diseño son el modo estructural.
la CPU CPU privada;
Memoria privada;
Disco Disco privada;
// oculta la complejidad del sistema de
ordenador público () {
this.cpu las nuevas CPU = (nuevos);
this.memory = new nueva memoria ();
this.disk = new nuevo disco ( );
}
pública ordenador (CPU de la CPU, memoria, disco disco) {
super ();
this.cpu = CPU;
this.memory = memoria;
this.disk = disco;
}
De inicio public void () {
cpu.startup ( " Poner en marcha la CPU ");
memory.startup (" memoria Puesta en marcha ");
disk.startup ( "disco de arranque");
}
Pública apagado void () {
cpu.startup ( "CPU cerrado");
memory.startup ( "memoria cerrado");
disk.startup ( "disco cerrado");
}
}//
public class demostración {
void main (String [] args) {public static
equipo de computación = nuevo ordenador ();
computer.startUp ();
computer.shutdown ();
}
}