Trilhas
/
C#
C#
/
Exercícios
/
Limpeza do controle remoto
Limpeza do controle remoto

Limpeza do controle remoto

Exercício de aprendizagem

Introdução

Tipos aninhados

Os tipos de C# podem ser definidos dentro do escopo de uma classe ou de uma struct. O tipo externo fornece uma espécie de namespace. O acesso ao tipo é feito por meio do tipo externo, com a sintaxe de ponto.

class Outer
{
    public interface IInner {}
    public enum EInner {}
    public class CInner {}
    public struct SInner {}
}

var outer = new Outer();
var inner = new Outer.CInner();

Você pode definir níveis de acesso para tipos internos.

Membros privados do tipo externo estão no escopo dos membros do tipo interno, mas não vice-versa.

Instruções

"Outros" desenvolvedores andam trabalhando no projeto do carrinho de controle remoto remote-control-competition. Chamaram você para limpar o código.

1. Separe as responsabilidades entre o próprio carrinho e o sistema de telemetria

Refatore a classe RemoteControlCar para separar os métodos e as propriedades de telemetria, acessados por meio de uma propriedade Telemetry.

var car = new RemoteControlCar();
car.Telemetry.Calibrate();
car.Telemetry.SelfTest();
car.Telemetry.ShowSponsor("Walker Industries Inc.");
car.CurrentSponsor
// => "Walker Industries Inc."
car.Telemetry.SetSpeed(100, "cps");
car.GetSpeed()
// => "100 centimeters per second"

2. Evite que outro código assuma dependências demais do tipo Telemetry

Garanta que a instância de Telemetry não possa ser criada fora do escopo do carrinho.

3. Evite que outro código assuma dependências da struct Speed

Garanta que a struct Speed não possa ser usada fora do escopo da classe RemoteControlCar.

4. Evite que outro código assuma dependências do enum SpeedUnits

Garanta que o enum SpeedUnits não possa ser usado fora do escopo da classe RemoteControlCar.

Editar via GitHub O link abre em uma nova janela ou aba
C# Exercism

Tudo pronto para começar Limpeza do controle remoto?

Crie sua conta no Exercism para aprender e dominar C# com 62 conceitos178 exercícios e mentoria humana de verdade, tudo de graça.