写在复习MVC后
MVC的一些
今天把MVC复习了下,包括官方文档以及各种中文博客。
官方文档里面最能说明的问题的图片,

相对于传统的MVC,苹果分离了View和Model之间的通信,实现了更好的复用性。
我觉得MVC更是一种高层的设计架构,而非很多博客上所谓的设计模式。在复习这个的时候,再一次发现了设计模式的用武之地。
。
还有一张斯坦福大学的很有用的图,也一目了然地分析了MVC彼此的交流。
。
MVC很强大,但是弊端也有。如果使用不当,很可能让大量代码都集中在 Controller 之中,让 MVC 模式变成了 Massive View Controller 模式。
关于这一点,唐巧老师的博客《被误解的MVC和被神化的MVVM》分析得很好。
小感悟
很多时候,学习是渐进相通的吧。温故知新,多思考,有一天会发现,所有东西都串起来了。比如今天仔细了解ORM的概念(使开发者像操作对象一样从数据库获取数据)。联想到SQLite和CoreData,发现其实CoreData就是实现了这样的功能,猜想CoreData也是个ORM框架吧?查阅资料,还真是如此。说来惭愧,后来发现这句话曾经在我读过的书上出现过,可是我却忽略了。但是今天我自己这么联系分析得出的结论,怕是一辈子都不会忘记了吧。
以前看NS3源码,有时候不明白程序为什么写成那个样子,系统学习了设计模式之后,发现许多设计模式都曾出现过,再一次感受到了NS3设计的巧妙之处。
有些事情,还得深入之后才能感受其优雅之处,比如最近发现markdown自带的写公式功能也很不错,可以前我也没有留意。想想我是怎么会学习markdown呢?是开始学习使用github的时候看的readme.md。如果当时没有扩展地去了解markdown,今天也不会使用这么可爱的MWeb来记笔记了。
多学习,多思考!!!
写在复习MVC后的更多相关文章
- 当标签上写了runat="server" 后,<%%>就会无效
当标签上写了runat="server" 后,<%%>就会无效 //这是错误的写法 <input type="hidden" runat=&q ...
- 手写mini版MVC框架
目录 1, Springmvc基本原理流程 2,注解开发 编写测试代码: 目录结构: 3,编写自定义DispatcherServlet中的初始化流程: 3.1 加载配置文件 3.2 扫描相关的类,扫描 ...
- EasyUI form ajax submit到MVC后,在IE下提示下载内容的解决办法
问题描述: 项目环境为,.Net Mvc5+EF6……前端框架使用的是EasyUI v1.4.4. 在视图页面中,使用form的submit方法提交表单数据时,如果是使用IE的话,请求成功后IE会提示 ...
- 自己动手写 ASP.NET MVC 分页 part1
学习编程也有一年半载了,从来没有自己动手写过东西,都是利用搜索软件找代码,最近偶发感慨,难道真的继续做码农??? 突发奇想是不是该自己动手写点东西,可是算法.逻辑思维都太弱了,只能copy网上的代码, ...
- 15天学习MVC后的小结(分享经历与想法)
学习MVC已经有半个月,看了看日历,刚好半个月.分享了好几篇练习的博文:一,<创建第一个MVC应用程序> http://www.cnblogs.com/insus/p/3358560.ht ...
- 写在OI退役后和高中毕业前的一些话
更新日志: 2017.02.13 开坑 2017.02.13 更新[零][壹] 2017.02.14 更新[贰] 2017.02.26 更新[叁][肆] 2017.03.04 锅多如狗,停更一周 20 ...
- 写在Web考试后的一点小总结
在实验室折腾附加题折腾了一个多钟没做出来……晚上回到宿舍决定再试一试,按原来的思路居然行了,目测在实验室的时候什么地方打错字了吧(心在流血) 实现晃过元素后出现跟随鼠标的悬浮窗,只有几行代码给我折腾了 ...
- 使用Spring MVC后实现一个BaseController
使用Spring MVC技术后,可以实现一个基类的Controller类来分装一些MVC常用的方法,其他的Controller都继承自这个BaseController,这样在使用常用的方法时将会变得非 ...
- git--编写好代码文件后更新到git仓库流程
先说一下git仓库分类: Git分为三大部分存储区域1:工作区域(就是你打开编辑器的本地代码仓库)2:提交缓存区域(使用git add 命令暂时放置的区域)3:git远程仓库(使用git push命令 ...
随机推荐
- R语言介绍
R语言简介 R语言是一种为统计计算和图形显示而设计的语言环境,是贝尔实验室(Bell Laboratories)的Rick Becker.John Chambers和Allan Wilks开发的S语言 ...
- EXCEL countif函数多条件
在MS EXCEL中,countif如果要满足多个条件怎么办呢? 1.答案就是:使用条件集合{}和sum函数. 即在countif()第二个参数中使用条件集合{},然后用sum()函数求满足这些条件的 ...
- Guava并发:ListenableFuture与RateLimiter示例
ListenableFuture顾名思义就是可以监听的Future,它是对java原生Future的扩展增强 RateLimiter类似于JDK的信号量Semphore,他用来限制对资源并发访问的线程 ...
- LocalDB:微软的新生代轻量级数据库
什么是LocalDB 随着SQL Server 2012的发布,LocalDB跃入我们的视线,它可以被看做是SQL Server Express的轻量级版本.LocalDB专门为开发人员创建,它非常易 ...
- 基于TCP和多线程实现无线鼠标键盘-InputMethodManager
为了实现无线键盘的功能,使用了InputMethodManager弹出软键盘. // 弹出软键盘 public void pop_keyboard(){ imm = (InputMethodManag ...
- 关于MySQL里的found_row()和row_count()解释及用法 [复制链接]
kider 电梯直达 1# 发表于 2010-8-31 16:06:04 | 只看该作者 |倒序浏览 |阅读模式 出处:mysqlpub.com MySQL中有两个函数来计算上 ...
- MVC-自定义HttpModule处理
HttpModule是向实现类提供模块初始化和处置事件. 当一个HTTP请求到达HttpModule时,整个ASP.NET Framework系统还并没有对这个HTTP请求做任何处理,也就是说此时对于 ...
- java servlet Json.org.jar
servlet我们可以把他当成一个数据媒介,他最终执行的是将方法体内获取处理后的数据,返回给请求的客户端,或以XML格式,或以JSON格式 ,我这里是使用的JSON格式数据,所以下面我要说org.js ...
- Word, PPT和Excel的常用技巧(持续更新)
本文的目的是记录平时使用Word, PowerPoint和Excel的过程中的一些小技巧,用于提升工作效率. 此文会不定期的更新,更新频率完全取决于实际使用遇到的问题的次数. 目录 Word Powe ...
- GitHub上新建或删除仓库Repository
一:新建仓库 在首页的New Repository,点击进入页面,输入和项目同名的仓库名就可以了.