设为首页 加入收藏

TOP

如何正确地写好一个界面(五)
2017-10-12 13:04:27 】 浏览:10096
Tags:如何 正确 一个 界面
M极其相似,Presenter与View Model扮演的角色基本没有差别,除了前面所说到绑定机制。但绑定机制既有很明显的强大优点——自动连接View和Model,也有很明显的缺点——更 高的耦合度,更复杂的代码逻辑;但让人感叹命运无常的是:MVVM随着ReativeCocoa而在iOS平台炙手可热,而iOS平台上甚少有人提及的 MVP,在Android平台却几乎成了标准(Android5.0引入了数据绑定支持,MVVM会在Android平台有新的发展)。

我为什么倾向于MVP?不过是相比于MVVM双向绑定的便利,我更希望我的App设计中有更强的灵活性和扩展性。没有完美的架构设计模式,只有适用 于你的App业务场景和团队的设计模式。比如数据逻辑并不复杂、更注重视觉展示的应用,原始的MVC往往是最优解。所有的MVC衍生出的变种,无非是为了 Solve The Problem。

 

4.4 架构设计模式应用

无论MVC、MVP还是MVVM,都是指导我们进行架构设计的模式,并非可以生搬硬套的;而且在实际的应用中,对于这些设计模式总会有不同的理解, 并且需要根据项目需求进行必要的调整;更为重要的是在我们App的架构设计中,处理好Model-View-Controller之间的关系只是基础,最 主要的挑战来自于复杂的业务逻辑和场景,这才是体现一个架构师能力所在。

唐巧前不久写的一篇文章《被误解的MVC和被神化的MVVM》对MVC和MVVM的实践的讨论应该是体现了现在移动端主流架构思想,其中对网络请求层、ViewModel 层、Service 层、Storage 层等其它类的提取设计,才决定了一个App架构设计的优劣。

对于架构设计,我准备在下一篇文章,结合本人在iOS/Android两端的设计经验,做个深入的讨论,并给出自己的设计范例,供各位讨论参考。这里先抛出几个在架构设计中最常思考的点,作为下一篇文章的引子:

1) 架构是为了解耦,越松的耦合就代表越多的份层,但人的思维总是更愿意接受直线思维,怎么解决这个矛盾?

2) 在一个App中,统一(一致)的架构设计能够让逻辑代码更健壮,更有利于团队成员间的沟通和项目维护,但如何解决其和灵活性之间的矛盾?

3) 架构设计是否只包含逻辑分层?需要设计数据流和多线程么?

4) 设计模式中的几大原则;



5 总结

以上四个章节,先从UI整体出发,到剖析UIView几点重要机制,接着讨论怎么用好VC这个UI中重要的管理角色,最后则漫谈了MVC/MVVM /MVP几个架构设计模式的异同和实践应用,想通过以点带面,让我们在关注了具体实现之后,能够脱离出来,从俯视下我们App开发更为整体核心的部分。



参考阅读:

 

首页 上一页 2 3 4 5 下一页 尾页 5/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇OpenGL ES: iOS 自定义 UIView 响.. 下一篇如何正确地写好一个界面

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目