An open API service indexing awesome lists of open source software.

https://github.com/rotorgames/sibsoftprojecttest

Тестовый проект для СибирьСофтПроект
https://github.com/rotorgames/sibsoftprojecttest

Last synced: over 1 year ago
JSON representation

Тестовый проект для СибирьСофтПроект

Awesome Lists containing this project

README

          

# SibSoftProjectTest
Тестовый проект для СибирьСофтПроект

### Время:
Написание Unit тестов 1 час

Разработка 4 часа

Тестирование 30 минут

### Зависимости
Xamarin.4.3.0.789

Xamarin.Forms.2.3.3.193

Xamarin.FFImageLoading.Forms.2.2.9

Xam.FormsPlugin.Iconize.1.0.10

PropertyChanged.Fody.1.52.1

Newtonsoft.Json.9.0.1

FreshMvvm.2.2.0

Microsoft.VisualStudio.QualityTools.UnitTestFramework.10.0.0.0

### Описание

#### Хранение данных
По началу я хотел использовать для хранения данных SQLite или Realm, но потом решил,
что это будет слишком громоздко для такой небольшой задачи.

За хранение локальных данных отвечает внутренний механизм Xamarin.Forms который получает сериализованные данные в json.

#### Кэширование изображений
В задание небыло указано, что кэширование данных должен был писать именно я, поэтому я решил использовать FFImageLoading,
который прекрасное решает эту задачу и уменьшает время на разработку.

#### MVVM Framework
Я решил использовать FreshMvvm что бы не пришлось реализовывать весь патерн ViewModel to ViewModel навигации, IoC контейнеров и DI.
Но все же я решил дописать свой Mapper так как я предпочитаю регистрировать Views и ViewModels вручную, это дает большей гибкости.

#### Fody.PropertyChanged
Для абстрагирования от реализации INotifyPropertyChanged я решил использовать Fody.PropertyChanged