Различия между MVC, MVP, MVVM, MVVM-C, и VIPER
Эти архитектурные паттерны являются одними из наиболее часто используемых при разработке приложений, как на платформах iOS, так и Android.
MVC (Model-View-Controller) — один из самых широко используемых архитектурных шаблонов. Он разделяет приложение на три основных компонента: модель (представляет данные и бизнес-логику), представление (отвечает за отображение интерфейса) и контроллер (действует как посредник между моделью и представлением).
MVP (Model-View-Presenter) похож на MVC, но имеет немного другой подход. В MVP посредником между моделью и представлением является презентер , а не контроллер. Презентер отвечает за обновление представления данными из модели и обработку пользовательского ввода и событий.
MVVM (Model-View-ViewModel) — архитектурный шаблон, набирающий популярность и используемый в приложениях со сложными пользовательскими интерфейсами. Он похож на MVP, но с добавлением модели представления (view model), которая отвечает за управление состоянием представления и за предоставление данных из модели в представление.
MVVM-C (Model-View-ViewModel-Coordinator) — это вариация MVVM, с добавлением координатора, который отвечает за управление навигацией между различными экранами или представлениями в приложении. Этот шаблон полезен для приложений, в которых есть несколько управляемых экранов или представлений.
VIPER (View-Interactor-Presenter-Entity-Router) — относительно новая архитектурный шаблон, который похож на MVC, но с добавлением нескольких новых компонентов, включая интерактор (отвечает за обработку бизнес-логики), сущность (представляет данные) и маршрутизатор (обрабатывает навигацию между различными экранами и представлениями).
#android #ios #frontend
Эти архитектурные паттерны являются одними из наиболее часто используемых при разработке приложений, как на платформах iOS, так и Android.
MVC (Model-View-Controller) — один из самых широко используемых архитектурных шаблонов. Он разделяет приложение на три основных компонента: модель (представляет данные и бизнес-логику), представление (отвечает за отображение интерфейса) и контроллер (действует как посредник между моделью и представлением).
MVP (Model-View-Presenter) похож на MVC, но имеет немного другой подход. В MVP посредником между моделью и представлением является презентер , а не контроллер. Презентер отвечает за обновление представления данными из модели и обработку пользовательского ввода и событий.
MVVM (Model-View-ViewModel) — архитектурный шаблон, набирающий популярность и используемый в приложениях со сложными пользовательскими интерфейсами. Он похож на MVP, но с добавлением модели представления (view model), которая отвечает за управление состоянием представления и за предоставление данных из модели в представление.
MVVM-C (Model-View-ViewModel-Coordinator) — это вариация MVVM, с добавлением координатора, который отвечает за управление навигацией между различными экранами или представлениями в приложении. Этот шаблон полезен для приложений, в которых есть несколько управляемых экранов или представлений.
VIPER (View-Interactor-Presenter-Entity-Router) — относительно новая архитектурный шаблон, который похож на MVC, но с добавлением нескольких новых компонентов, включая интерактор (отвечает за обработку бизнес-логики), сущность (представляет данные) и маршрутизатор (обрабатывает навигацию между различными экранами и представлениями).
#android #ios #frontend
❤🔥6👍2❤1🔥1🍌1
Шпаргалки по SQL, которые помогут ничего не забыть
Порой из головы может выпасть, что конкретно делает определенное ключевое слово и как совершить операцию побитового исключения с присваиванием.
Именно для таких случаев и существует данная статья с множеством полезных шпаргалок. С ними можно не бояться, что в ответственный момент вы что-то забудете. Сохраняйте в закладки и используйте в работе с реляционными базами данных.
#sql
Порой из головы может выпасть, что конкретно делает определенное ключевое слово и как совершить операцию побитового исключения с присваиванием.
Именно для таких случаев и существует данная статья с множеством полезных шпаргалок. С ними можно не бояться, что в ответственный момент вы что-то забудете. Сохраняйте в закладки и используйте в работе с реляционными базами данных.
#sql
❤🔥5❤2👍1🍌1
Ключевое слово this в Java
Для лучшего понимания рассмотрим пример: у вас есть описание класса «ручка», которое является абстрактным представлением об объекте. Создав экземпляр ручки, вы получите объект, который может иметь различные параметры. Так вот, в контексте экземпляра, ключевое слово
Здесь
#java
this
в Java используется для ссылки на текущий объект то есть объект, в контексте которого выполняется код. Это ключевое слово применяется при работе с текущим объектом внутри его собственного класса. Для лучшего понимания рассмотрим пример: у вас есть описание класса «ручка», которое является абстрактным представлением об объекте. Создав экземпляр ручки, вы получите объект, который может иметь различные параметры. Так вот, в контексте экземпляра, ключевое слово
this
указывает на этот конкретный экземпляр.public class Pen {
private String color;
public Pen(String color) {
this.color = color;
}
}
Здесь
this.color
означает цвет текущего объекта Pen
, а color
— это параметр конструктора. Без использования this
переменная color
в конструкторе ссылается на себя, а не на переменную класса.#java
👍13🔥3🎉2☃1🌚1
Forwarded from Zen of Python
Асинхронность для начинающих
Трёхчасовой русскоязычный плейлист YouTube, посвящённый параллельным вычислениям. В ходе просмотра вы познакомитесь с:
— корутинами;
— колбэками;
— генераторами;
— asyncio и прочими сопутствующими концепциями.
#факты
Трёхчасовой русскоязычный плейлист YouTube, посвящённый параллельным вычислениям. В ходе просмотра вы познакомитесь с:
— корутинами;
— колбэками;
— генераторами;
— asyncio и прочими сопутствующими концепциями.
#факты
🔥5❤3👍1🍌1
Зарплата IT-спеца: а нормально — это сколько?
Автор рассказывает о своем пути в IT-индустрии, делая акцент на деньгах. В этой статье вы сможете узнать, что сподвигло автора на занятие своим делом, разобраться, какие навыки и условия влияют на зарплату и на какое повышение может рассчитывать начинающий специалист.
#работа #советы #начинающим
Автор рассказывает о своем пути в IT-индустрии, делая акцент на деньгах. В этой статье вы сможете узнать, что сподвигло автора на занятие своим делом, разобраться, какие навыки и условия влияют на зарплату и на какое повышение может рассчитывать начинающий специалист.
#работа #советы #начинающим
🔥6👍1🍌1
🫡5🍌1
Как не забросить пет-проект: свое приложение в App Store
Автор статьи - Senior в iOS-разработке и создатель мобильного приложения. В этом материале он делиться своим опытом создания собственного приложения на на языке Swift, на фреймворке UIKit.
Вы узнаете:
— что послужило вдохновением для приложения;
— что вошло в проект и сколько ресурсов на него было потрачено;
— с какими самыми неожиданными трудностями пришлось столкнуться;
— советы тем, кто хочет создать свое приложение.
#swift #советы
Автор статьи - Senior в iOS-разработке и создатель мобильного приложения. В этом материале он делиться своим опытом создания собственного приложения на на языке Swift, на фреймворке UIKit.
Вы узнаете:
— что послужило вдохновением для приложения;
— что вошло в проект и сколько ресурсов на него было потрачено;
— с какими самыми неожиданными трудностями пришлось столкнуться;
— советы тем, кто хочет создать свое приложение.
#swift #советы
👍7❤🔥2🔥1🍌1
Словарик айтишника. Буква Г
Сегодня мы разберем, каким грызуном вы пользуйтесь каждый день и что это за глаз, на котором вы читаете текст?
#начинающим
Сегодня мы разберем, каким грызуном вы пользуйтесь каждый день и что это за глаз, на котором вы читаете текст?
#начинающим
👍10🔥1🍌1
С чего начать новичку: Swift или SwiftUI
Перед всеми начинающими специалистами iOS-разработке стоит важный выбор между Swift и SwiftUI. В этом информативном видео вы разберете, что это такое, узнаете об основных особенностях языков и, наконец, получите четкий ответ на вопрос: что же лучше выбрать новичку?
#swift #ios #frontend
Перед всеми начинающими специалистами iOS-разработке стоит важный выбор между Swift и SwiftUI. В этом информативном видео вы разберете, что это такое, узнаете об основных особенностях языков и, наконец, получите четкий ответ на вопрос: что же лучше выбрать новичку?
#swift #ios #frontend
❤🔥5🍌1
Что такое очередь и где её применяют
Очередь (queue) — ряд данных, хранящий элементы последовательным образом. Очередь похожа на стек, но в отличие от него, работает по принципу FIFO — First In, First Out (англ. «первым пришёл — первым ушёл»). Данные добавляют в конец, а извлекают из начала.
Для понимания, приведем пример: очередь людей. Последний занял место — последним и будешь, а первый — первым ее и покинет.
Бывают неклассические, двусторонние очереди. В них можно добавлять элементы и извлекать их из начала и конца структуры. Элементы посередине недоступны.
Применение очередей:
— реализация очередей, например на доступ к определённому ресурсу;
— управление потоками в многопоточных средах;
— генерация значений.
— Для создания буферов.
#начинающим
Очередь (queue) — ряд данных, хранящий элементы последовательным образом. Очередь похожа на стек, но в отличие от него, работает по принципу FIFO — First In, First Out (англ. «первым пришёл — первым ушёл»). Данные добавляют в конец, а извлекают из начала.
Для понимания, приведем пример: очередь людей. Последний занял место — последним и будешь, а первый — первым ее и покинет.
Бывают неклассические, двусторонние очереди. В них можно добавлять элементы и извлекать их из начала и конца структуры. Элементы посередине недоступны.
Применение очередей:
— реализация очередей, например на доступ к определённому ресурсу;
— управление потоками в многопоточных средах;
— генерация значений.
— Для создания буферов.
#начинающим
🔥7👍3❤🔥1🍌1
Forwarded from Zen of Python
Логические задачи для программистов, которые бесят своей простотой
Собрали в статье каверзные логические задачи с собеседований для SDE. Они кажутся сложными, но на деле довольно простые. Испытайте себя!
#задача
Собрали в статье каверзные логические задачи с собеседований для SDE. Они кажутся сложными, но на деле довольно простые. Испытайте себя!
#задача
👍4❤🔥2🍌1