مسیرها
/
C#
C#
/
تمرین‌ها
/
پاک‌سازی کنترل از راه دور
پاک‌سازی کنترل از راه دور

پاک‌سازی کنترل از راه دور

تمرین یادگیری

مقدمه

انواع تودرتو

انواع C# می‌توانند در محدوده‌ی یک کلاس یا ساختار تعریف شوند. نوع دربرگیرنده نوعی فضای نام فراهم می‌کند. دسترسی به نوع، از طریق نوع دربرگیرنده و با نحوه‌ی نگارش نقطه‌ای انجام می‌شود.

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

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

می‌توانید سطوح دسترسی را برای انواع داخلی تنظیم کنید.

اعضای خصوصی نوع بیرونی در محدوده‌ی اعضای نوع داخلی قرار دارند، اما برعکس آن صادق نیست.

دستورالعمل‌ها

چند توسعه‌دهنده‌ی «دیگر» روی پروژه‌ی خودروی کنترل از راه دور remote-control-competition کار می‌کرده‌اند. شما را فراخوانده‌اند تا کد را مرتب کنید.

1. جدا کردن دغدغه‌ها بین خود خودرو و سامانه‌ی تله‌متری

کلاس RemoteControlCar را بازآرایی کنید تا متدها و ویژگی‌های تله‌متری جدا شوند و از طریق یک ویژگی 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. جلوگیری از وابستگی بیش از حد کدهای دیگر به نوع Telemetry

مطمئن شوید که نمونه‌ی Telemetry نتواند خارج از دامنه‌ی خودرو ایجاد شود.

3. جلوگیری از وابستگی کدهای دیگر به struct Speed

مطمئن شوید که struct Speed نتواند خارج از دامنه‌ی کلاس RemoteControlCar استفاده شود.

4. جلوگیری از وابستگی کدهای دیگر به enum SpeedUnits

مطمئن شوید که enum SpeedUnits نتواند خارج از دامنه‌ی کلاس RemoteControlCar استفاده شود.

ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
C# Exercism

آماده‌اید پاک‌سازی کنترل از راه دور را شروع کنید؟

در Exercism ثبت‌نام کنید تا C# را همراه با 62 مفهوم178 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.