写在复习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命令 ...
随机推荐
- QTableWidget的美化
FriendTable->setFrameShape(QFrame::NoFrame); //设置边框 FriendTable->setHorizontalHeaderLabels( ...
- Android使用SAX解析XML(3)
主界面MainActivity.java: package com.hzhi.my_sax; import java.util.ArrayList; import android.os.Bundle; ...
- java一点小的知识点
1.在dos底下编译运行java文件时,若有包名,需要建立包名对应的文件夹,然后编译的时候写出包名:java.mypack.PackageDemo 2.代码中有包名的时候,自动创建文件夹并编译的方法: ...
- 改变 TMemo 的背景颜色 (Firemonkey)
说明:展示使用程序码改变 Firemonkey TMemo 的背景颜色. 适用:XE6 源码下载:[原創]Memo改背景色_XE6.zip //---------------------------- ...
- Mybatis if test中字符串比较
<if test=" name=='你好' "> <if> 这样会有问题,换成 <if test=' name=="你好" '&g ...
- Scalaz(28)- ST Monad :FP方式适用变量
函数式编程模式强调纯代码(pure code),主要实现方式是使用不可变数据结构,目的是函数组合(composability)最终实现函数组件的重复使用.但是,如果我们在一个函数p内部使用了可变量(m ...
- 关于JAVA数据储存
关于JAVA数据储存: 在JAVA中,有六个不同的地方可以存储数据: 1. 寄存器(register) 这是最快的存储区,因为它位于不同于其他存储区的地方--处理器内部.但是寄存器的数量极其有限,所以 ...
- Guava学习笔记:Immutable(不可变)集合
不可变集合,顾名思义就是说集合是不可被修改的.集合的数据项是在创建的时候提供,并且在整个生命周期中都不可改变. 为什么要用immutable对象?immutable对象有以下的优点: 1.对不可靠的客 ...
- # 关于Apache的25个初中级面试题
注:本文从自己的Markdown博客复制出,除标题字体加粗.代码风格改变.图片重新上传外其余均为markdown语法. 标签(空格分隔): LAMP --- 原文:[关于Apache的25个初中级面试 ...
- Apple Watch PSD 源文件【免费素材下载】
Apple Watch 是苹果公司于2014年9月发布的一款智能手表.分为运动款.普通款和定制款三种,采用蓝宝石屏幕,有银色,金色,红色,绿色和白色等多种颜色可以选择.这里分享的是 Apple Wat ...