Imagine um sistema operacional para computadores pessoais. Este
sistema usa vários dispositivos, como vídeo, impressora, mouse, e teclado. São todos dispositivos
distintos, mas que para trabalhar com um dado sistema operacional devem ter as seguintes
funcionalidades em seus drivers:
- ligar/desligar;
- checar status, o que retorna um número indicado a condição do dispositivo;
- calibrar.
a) Qual solução de projeto você adotaria para que os desenvolvedores de dispositivos pudessem
desenvolver dispositivos para este sistema sem que o código do sistema fosse revelado?
Escreva o correspondente código.
b) Considere o caso em que o driver de um determinado tipo de dispositivo, além de satisfazer aos
requisitos do sistema operacional considerado, também será usado para a criação de toda uma família de
drivers que tem funcionalidades comuns e que possuem especificidades em cada uma de sua variações.
Escolha um dos tipos de dispositivo e escreva o código correspondente – sem preencher os métodos.