
本书使用单个示例应用程序解释了一系列应用程序设计模式及其实现技术,在五种设计模式中完全实现。
我们不提倡任何特定模式,而是列出所有架构都试图解决的问题:构建应用程序的组件、视图和模型之间的通信以及处理非模型状态。我们展示了这些问题的高级解决方案,并将它们分解为五种不同设计模式的实现级别——两种常用的和三种更多的实验性。
常见的架构有 Model-View-Controller 和 Model-View-ViewModel + Coordinator。除了在概念上和实现层面上解释这些模式之外,我们还讨论了常见问题的解决方案,如大规模视图控制器。
在实验方面,我们解释了 Model-View-Controller+ViewState、ModelAdapter-ViewBinder 和 Elm 架构。通过检查这些实验模式,我们提取了可应用于其他模式和现有代码库的宝贵经验。
本书随附的视频让您在实践中更好地了解不同的应用程序设计模式。在 7 个多小时的实时编码和讨论中,我们比较和对比了不同的设计模式,在所有这些模式中构建新功能,并展示如何实现本书中使用的 Elm 架构框架。
Genre: eLearning | Language: English | Duration: 9 Lessons (7h 9m) | Size: 8.1 GB
This book explains a range of application design patterns and their implementation techniques using a single example app, fully implemented in five design patterns.
Instead of advocating for any particular pattern, we lay out the problems all architectures are trying to address: constructing the app’s components, communicating between the view and the model, and handling non-model state. We show high-level solutions to these problems and break them down to the level of implementation for five different design patterns — two commonly used and three more experimental.
The common architectures are Model-View-Controller and Model-View-ViewModel + Coordinator. In addition to explaining these patterns conceptually and on the implementation level, we discuss solutions to commonly encountered problems, like massive view controllers.
On the experimental side we explain Model-View-Controller+ViewState, ModelAdapter-ViewBinder, and The Elm Architecture. By examining these experimental patterns, we extract valuable lessons that can be applied to other patterns and to existing code bases.
The videos accompanying the book give you a better sense of the different application design patterns in practice. In more than seven hours of live-coding and discussion we compare and contrast different design patterns, build new features in all of them, and show how The Elm Architecture framework used in the book is implemented.
原创文章,作者:steven,如若转载,请注明出处:https://rr3d.cn/16144.html