架构-objc.cn
Ch1.MVC
UIStateRestoration可以实现程序的快速现场还原
NSController这个想法确实可以的,可以使用这个来管理array,并且实现与tableView方便的绑定
使用KVO改善MVC中的添加通知接收者同时想要设置属性初始值需要将代码写在两处的问题
简化View配置代码部分,将业务逻辑从VC中拿到了对应的Cell中,个人觉得不是特别好(不是说不能用,但是有点违背了MVC,将业务逻辑引入了View层
Ch2.MVVM
感觉有个地方还需改善,依然是Cell。
Ch3.网络
C管理网络或者Model管理网络
这里我觉得需要考虑一下这个model的请求数据是用作vs不需要共享(没有共享的需要),还是有可能会需要共享传递之类
更推荐Model为瘦model,添加一个Service层作为请求及相关处理逻辑
Ch4.MVC-VS
不喜欢这种。。感觉有点累
写起来就有点复杂了,但是可以实现时间旅行因为view的状态完全是由vs记录的
Ch5.MCVB
看的有点迷,实际上类似rn,声明的方式设置好视图的逻辑,之后的绑定之类的都不去管理
但是需要一个新框架,感觉有点迷,目前只是在实验阶段
Ch6.Tea
又有点类似React,操作的是虚拟DOM一样的东西,然后映射成View层级
个人偏好
Rx+MVVM+Service+Adeptor
阅读总结
感觉看的时候有点心不在焉,但是实际上日常开发的模式还是那句老话:万变不离其宗
都是MVC的变体。
勘误
P47
译者注:如果使用是类型
此处应为值类型
MVC的测试testChangeNotificationHandling没有通过
P59
改进代码的NoticationCenter.default.addObserver没有target
P92
view-model 变更是更新view,应为变更时