发现很多东西非常不好归类,而且零零散散的,但是我觉得很重要,有必要稍微记录一下。
以后定期在每周末发 一次(愿景。。)
1、对 MVC 的“再理解”
在我自己写的 gui 玩具程序里面,我把 service 写进 mvc 里的 m 层里,在课上演示的时候还差点想拿出来“装逼(好在没有!!!)”。
随着代码写得越来越多,我尝试做一些扩展,然后发现整个代码就像一坨屎一样糅合和在一起,每一部分的职责非常混乱。。。于是我把它们在脑子里 inline method(class?) 了 一下,试图做一些整体结构上的调整。一时没啥思路,所以干脆 (以前没有特意去学过!)好好重新理解体会一下 博大精深的 MVC ,希望可以得到一些方向!
感觉不错的文章:
Model–view–controller - Wikipedia
MVC Architecture - Google Chrome - Chrome: developer
个人觉得有必要强调的观点:
- 模式是一种可重复使用的解决方案。
- MVC 解决的主要问题:代码重用率低、项目难以并行开发。(以后一个人写代码要想象成好几个人在写 :p)
- 模型可以有 n 个视图
原来为了交作业马马虎虎画的“MVC”(当然是错的设计):
参考文章:
https://coolshell.cn/articles/9666.html
https://www.jianshu.com/p/cfdf1747d30e
https://www.html5rocks.com/zh/tutorials/internals/howbrowserswork/
重新设计:
不得不说,现在 web 应用里的 MVC 真的是非常成熟,我发现越是修正思路就越是接近它。
原始设计里我打算通过 controller 调用一个 ui管理器(我把它划分到 model 里去了。。)来改变视图,现在直接是按照 web 里的 controller 层,由控制器直接返回数据给视图,让视图自己去渲染(改变)。在写任何模块的时候,都应该理清处自己的职责(权限)范围,不做多余的事情、不调不该调的 API。
2、IM 系统架构
待学习,涵盖的方面很多,值得研究!