Skip to content

seroshtanov/Contacts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contacts

Небольшое приложение, отображающее список контактов.
Написано на Swift 5.

Архитектура

Испоьзуется паттерн MVP, где
Model - отвечает за работу с данными
View - за отображение данных Presenter - служит посредником между M и V и содержит логику представления данных

В данном случае функции view выполняют подклассы UIViewController. Все View в данном приложении построены на UITableView. Такой подход для упрощение расширяемости приложения и позволит переиспользовать компоненты UI на любом из экранов (UITableViewCell)

Структура проекта:

Entity - сущности, используемые в приложении
Base - базовые классы и UI компоненты, используемые в большинстве классов
Resources - Каринки, цвета и другие ресурсы Support - Файлы, созданные xcode по умолчанию
Extensions - Расширения к классам ios sdk
Assembly - Фабрика, который отвечает за создание модулей Modules - модули (экраны) приложения, построенные по паттерну MVP

DI

За управление зависимостями в текущем приложении отвечает класс Assembly.
Каждый реализуемый модуль в приложении должен добавляться в enum Module.
Папка с каждым модулем должна содержать фабрику или билдер для создания и конфигурации модуля.

Менеджер пакетов

Используется COCOAPODS

Используемые библиотеки:

SnapKit - для работы с AutoLayout
Contacts - для работы с адресной книгой

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published