Skip to content

alenakin/NET.W.2017.Kinchikova.15

Repository files navigation

NET.W.2017.Kinchikova.15

Задание

Разработать систему типов для описания работы с банковским счетом. Состояние счета определяется его номером, данными о владельце счета (имя, фамилия), суммой на счете и некоторыми бонусными баллами, которые увеличиваются/уменьшаются каждый раз при пополнении счета/списании со счета на величины различные для пополнения и списания и рассчитываемые в зависимости от некоторых значений величин «стоимости» баланса и «стоимости» пополнения. Величины «стоимости» баланса и «стоимости» пополнения являются целочисленными значениями и зависят от типа счета, который может быть, например, Base, Gold, Platinum. Для работы со счетом реализовать следующие возможности:

  • выполнить пополнение на счет;
  • выполнить списание со счета;
  • создать новый счет;
  • закрыть счет.

Для хранения информации о счетах можно использовать fake-имплементацию репозитория (хранилища) в виде класса-обертки для коллекции List.

Работу классов продемонстрировать на примере консольного приложения.

При проектировании типов учитывать следующие возможности расширения/изменения функциональности

  • добавление новых видов счетов;
  • изменение/добавление источников хранения информации о счетах;
  • изменение логики расчета бонусных баллов;
  • изменении логики генерации номера счета.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages