iOS Architecture Patterns: MVP, MVVM, VIPER, and VIP in Swift

Оглавление⌄
Table of ContentsAbout the AuthorAbout the Technical ReviewerAcknowledgmentsIntroductionChapter 1: IntroductionWhat Is Software Architecture?Architecture PatternsWhy Do We Need an Architecture Pattern for Our Applications?Design from High Level to Low LevelDesign PatternsCreational PatternsFactory MethodAbstract FactoryBuilderSingletonPrototypeStructural PatternsAdapterBridgeCompositeDecoratorFaçadeFlyweightProxyBehavioral PatternsChain of ResponsibilityCommandInterpreterIteratorMediatorMementoObserveStateStrategyTemplate MethodVisitorSOLID PrinciplesSingle-Responsibility Principle (SRP)Open–Closed Principle (OCP)Liskov Substitution Principle (LSP)Interface Segregation Principle (ISP)Dependency Inversion Principle (DIP)How to Choose the Right Architectural PatternMost Used Architecture PatternsIn Search of a “Clean Architecture”Clean Architecture LayersDomain LayerPresentation LayerData LayerThe Dependency RuleAdvantages of Applying a Clean ArchitectureMyToDos: A Simple App to Test ArchitecturesApp ScreensLaunch ScreenHome ScreenAdd List ScreenTasks List ScreenAdd Task ScreenApp DevelopmentTechnologies UsedHow to Remove Storyboard DependenceCore Data ConfigurationHow to Create Database and EntitiesCreate CoreDataManagerSummaryChapter 2: MVC: Model–View–ControllerWhat Is MVC?A Little HistoryApple Model–View–ControllerComponents in MVCModelViewControllerAdvantages and Disadvantages of MVCAdvantages of the MVC PatternDisadvantages of the MVC PatternMVC ApplicationMVC LayersModelCore DataModelsServicesExtensionsConstantsViewControllerMyToDos Application ScreensInformation FlowDelegate PatternHow to Implement Delegate PatternAppDelegate and SceneDelegateHome ScreenHomeViewControllerHomeViewAdd List ScreenAddListViewControllerAddListViewTasks List ScreenTaskListViewControllerTaskListViewAdd Task ScreenAddTaskViewControllerAddTaskViewTestingHow Should the Tests Be?Let’s Create the First TestHelper ClassesMVC-MyToDos TestingTasksListServiceTestMocking ServicesControllers TestingViews TestingSummaryChapter 3: MVP: Model–View–PresenterWhat Is MVP?A Little HistoryHow It WorksComponents in MVPModelViewPresenterAdvantages and Disadvantages of the MVPAdvantagesDisadvantagesMVP ApplicationMVP LayersModelCore DataModelsServicesExtensionsConstantsViewPresenterMyToDos Application ScreensAppDelegate and SceneDelegateHome ScreenHomeControllerHomeViewHomePresenterAdd List ScreenAddListViewControllerAddListViewAddListPresenterTasks List ScreenTaskListViewControllerTaskListViewTaskListPresenterAdd Task ScreenAddTaskViewControllerAddTaskViewAddTaskPresenterMVP-MyToDos TestingAddListViewControllerAddListViewAddListViewPresenterSummaryChapter 4: MVVM: Model–View–ViewModelWhat Is MVVM?A Little HistoryHow It WorksComponents in MVVMModelViewViewModelData BindingAdvantages and Disadvantages of MVVMAdvantagesDisadvantagesMVVM ApplicationMVVM LayersModelCore DataModelsServicesExtensionsConstantsViewViewModelMyToDos Data BindingWhat Is RxSwift?Observables and ObserversInstalling RxSwiftInput/Output ApproachMyToDos Application ScreensAppDelegate and SceneDelegateHome ScreenHomeViewControllerHomeViewHomeViewModelAdd List ScreenAddListViewControllerAddListViewAddListViewModelTasks List ScreenTaskListViewControllerTaskListViewTasksListViewModelAdd Task ScreenAddTaskViewControllerAddTaskViewAddTaskViewModelMVVM-MyToDos TestingRxTest IntroductionHomeViewModel TestsEmptyState TestTesting the Deletion of ListsList Selection TestingMVVM-C: Model–View–ViewModel–CoordinatorWhat Is a Coordinator?Using MVVM-C in MyToDosSceneDelegateHome ScreenAdd List ScreenTasks List ScreenAdd Task ScreenSummaryChapter 5: VIPER: View–Interactor–Presenter–Entity–RouterWhat Is VIPER?A Little HistoryHow It WorksComponents in VIPERViewInteractorPresenterEntityRouterAdvantages and Disadvantages of VIPERAdvantagesDisadvantagesVIPER ApplicationCommunication Between ComponentsCommunication Between Presenter and ViewCommunication Between Presenter and InteractorCommunication Between Presenter and RouterVIPER LayersModulesServicesCommonCore DataComponentsModelsExtensionsHelpersMyToDos Application ScreensAppDelegate and SceneDelegateHome ModuleHome ProtocolsHomeRouterHomeViewControllerHomePresenterHomeInteractorAdd List ModuleAddListProtocolsAddListRouterAddListViewControllerAddListPresenterAddListInteractorTask List ModuleTaskListProtocolsTaskListRouterTaskListViewControllerTaskListPresenterTaskListInteractorAdd Task ModuleAddTaskProtocolsAddTaskRouterAddTaskViewControllerAddTaskPresenterAddTaskInteractorVIPER-MyToDos TestingHomePresenterHomeInteractorSummaryChapter 6: VIP: View–Interactor–PresenterWhat Is VIP?A Little HistoryHow It WorksComponents in VIPView (UIViewController)InteractorPresenterRouterWorker/ServiceModelConfiguratorAdvantages and Disadvantages of VIPAdvantagesDisadvantagesVIP LayersScenesServices/WorkersCommonCore DataComponentsModelsExtensionsHelpersMyToDos Application ScreensAppDelegate and SceneDelegateHome SceneHomeConfiguratorHomeViewHomeViewControllerHomeInteractorHomePresenterHomeModelHomeRouterAddList SceneAddListConfiguratorAddListViewAddListViewControllerAddListInteractorAddListPresenterAddListModelAddListRouterTaskList SceneTaskListConfiguratorTaskListViewTaskListViewControllerTaskListInteractorTaskListPresenterTaskListModelTaskListRouterAddTask SceneAddTaskConfiguratorAddTaskViewVIP-MyToDos TestingHomeViewControllerTestHomeInteractorTestHomePresenterTestSummaryChapter 7: Other Architecture PatternsIntroductionRIBs: Router, Interactor, and BuilderA Little HistoryHow It WorksComponentsRouterInteractorBuilderComponentPresenterViewAdvantages and DisadvantagesAdvantagesDisadvantagesThe Elm ArchitectureA Little HistoryHow It WorksComponentsModelViewUpdateRuntimeAdvantages and DisadvantagesAdvantagesDisadvantagesReduxA Little HistoryHow It WorksComponentsStateStoreReducerActionViewMiddlewareAdvantages and DisadvantagesAdvantagesDisadvantagesTCA: The Composable ArchitectureA Little HistoryHow It WorksComponentsStateViewActionReducerEnvironment (Effect)StoreAdvantages and DisadvantagesAdvantagesDisadvantagesSummaryChapter 8: ConclusionThe Importance of Clean ArchitectureMoving ForwardIndex
Описание
Коротко и по делу о том, что важно знать про patterns.
When you start to develop an application, you not only have to think about the idea of the finished application, but also about how it will evolve as it is built. Develop well-structured applications using tested techniques and patterns. This book shows you how to plan for changes, scope creep, and for the possibility of other developers joining in.
You’ll find out why it’s important for your applications to be based on these patterns and which ones are the most common. Start by learning what architecture patterns for an application are. Then you’ll look at the MVC as one of the best known and used patterns. You’ll see how and when it can be implemented in your applications, as well as its advantages and disadvantages.
The next evolution after that is the MVVM, which introduces the ViewModel layer and its connection withthe views through Data Binding. From there, you’ll discover the first evolution of the MVC model: the MVP, which introduces a new layer (Presenter) to better manage views. With those prominent patterns covered, you’ll read about VIPER and VIP, Architecture Patterns that seeks to make applications easily maintainable, modularized, and highly scalable. All of which are hallmarks of Clean Architecture.
Architecture patterns have developed and evolved to give your applications solid foundations. Understanding these patterns, you will reduce the problems that may arise when modifying existing functions, adding new ones, or correcting errors that may arise in the development process.
What You'll LearnCode cleanly with solid foundationsStart your project ready to adapt and evolve as features and other developers are addedFind and apply the right patterns for the best resultsWho This Book Is ForDevelopers with some programming knowledge who want to learn different architecturepatterns, those who already have more experience and are looking for a starting point on complex patterns such as VIPER or VIP, and beginner programmers
На этом основные моменты по теме закрыты.
Поделиться
Частые вопросы
Можно ли скачать «iOS Architecture Patterns: MVP, MVVM, VIPER, and VIP in Swift» бесплатно?
Да, «iOS Architecture Patterns: MVP, MVVM, VIPER, and VIP in Swift» доступна для бесплатного скачивания на нашем сайте в формате PDF. Ссылка на файл находится на этой странице.
В каком формате и какого размера файл?
Книга предоставляется в формате PDF, размер файла 4,7 МБ.
Кто автор и когда вышла книга?
автор — García Raúl Ferrer, издательство Apress Media, LLC., год выпуска 2023, 416 страниц.
О чём книга «iOS Architecture Patterns: MVP, MVVM, VIPER, and VIP in Swift»?
Develop well-structured applications using tested techniques and patterns.