Введення в структурний код додатку обміну валют в Visual C # (Sharp)

Наше додаток створюється на основі курсу обміну, валютних одиниць і обчислити із застосуванням курсу обміну і валютних одиниць Тому було б логічним на першому кроці написати тестовий код, в якому спільно застосовуються всі ці елементи Наприклад, як у наступному коді:

CurrencyTrader els = new CurrencyTraderО elsExchangeRate = 131

double haveUSD = 1000

double getEUR = elsConvert(haveUSD) ConsoleWriteLine(&quotConverted &quot + haveUSD + &quot USD to &quot + getEUR)

Даний код відрізняється тим, що на ньому лежить вся відповідальність за те, щоб структурі були привласнені правильні дані Щоб прояснити це, подивіться на цей же код, але з довільними іменами і значеннями змінних валют замість логічних ідентифікаторів:

CurrencyTrader els = new CurrencyTrader() elsExchangeRate = dddddedfasffsdf  double ukfkisd = 1000

double didkfdbnfd = elsConvert(ukfkisd) ConsoleWriteLine(&quotConverted &quot + ukfkisd + &quot USD to &quot + didkfdbnfd)

Даний код структурного, а не архітектурного типу Структурний код вимагає інтелектуального програміста, тобто програміста, який знає значення оельних елементів З іншого боку, архітектурний код є більш защенним від некваліфікованого використання і вимагає менших знань при роботі з ним, т к багато хто з його частин інкапсульовані З архітектурним кодом користувач повинен знати тільки, як використовувати класи Іншими словами, структурний код вимагає знань, як скласти два числа А з архітектурним кодом все, що потрібно знати, – це як ввести два числа в калькулятор і натиснути кноі плюс і дорівнює. Можна стверджувати, що, не знаючи, як виконується операція додавання, і покладаючись на калькулятор для її виконання, ми не маємо ніякої впевненості в тому, що калькулятор виконає цю задачу належним чином Таке твердження буде справедливо, і саме тому тести є важливими для посвідчення правильності роботи калькулятора

Перший тестовий структурний код в попередньому розділі складено правильно Структурний код формує основу компонента, який називається базовим класом Базовий клас надає певну функціональність, яка може бути використана в інших класах У даному випадку такий функціоналом є функціональність перетворення валютних одиниць, яку ми маємо намір використовувати як в модулі комерційного валютного маклера, так і в модулі обмінного пункту готелю Базові класи необхідно визначати таким чином, щоб виконання ідентичних операцій було однаковим Якби не було базових класів, то для повторного використання функціональності довелося б копіювати і вставляти який реалізує її код

Базові класи мають деякі дуже важливі характеристики

• Розробникам слід застосовувати базовий клас, тільки якщо вони розуміють, яку роботу даний клас виконує Для управління доступом застосовується область видимості

• Базові класи описують властивості і методи Для використання базового класу ці описи компонуються для виконання обчислень Наприклад, чти виконати перетворення валюти, необхідно вручну визначити вютний курс і валютні одиниці і виконати метод перетворення Пошагий річний підхід надає розробникам гнучкість у роботі

• Базові класи необхідно всебічно протестувати, т к надається ними функціональність буде використовуватися повсюдно в розробляється коді Якщо базові класи містять помилки, то велика ймовірність помилково функціонування великого фрагмента, що застосовує дані класи

ПРИМІТКА

Базові класи є загальним концептом, який повністю розуміють тільки розробники Загальний концепт називаєтьсяшаблоном проектуУ процесі іспользанія шаблонів розробки створюється термінологія розробників, в якій такі слова, як фабрика, стан і відвідувач, позначають конкретні концепції програмування, які розробники розуміють без усяких пояснень Я б порадив вам дізнатися більше про шаблони проекту Гарну колекцію превоодних прикладів коду основних шаблонів, що використовуються розробниками, можна знайти на Web-сторінці Data & Object Factory (http://wwwdofactorycom/Patterns/ Patternsaspx)

У даному прикладі клас currencyTrader необхідно перетворити в базовий клас, який можуть використовувати тільки досвідчені розробники Ця вимога породжене необхідністю запобігти використанню коду, що розробляється в неправильному контексті

Одним із способів запобігти використанню класу CurrencyTrader в непрільном контексті буде оголошення його як abstract Ключове слово abstract в оголошенні класу вказує на те, що з цього класу не можна створювати екземп-

ляри До цього класу можна звертатися, але створювати його екземпляри можна Пмотрім на наступний код, в якому клас currencyTrader оголошується абсактним:

abstract class CurrencyTrader { }

Для створення екземпляра класу, оголошеного за допомогою ключового слова abstract, застосовується механізм, який називається спадкуванням (Inheritance) З тои зору розробника, ідеєю в основі оголошення класу абстрактним є створення логіки багаторазового використання для застосування в інших класах

Джерело: Гросс К С # 2008: Пер з англ – СПб: БХВ-Петербург, 2009 – 576 е: ил – (Самовчитель)

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*