框架模式学习基础

   好的问题是学习的前提,首先明白以下几个问题:

1、为什么会有模式和框架?两者有何区别?

2、都有哪些模式和框架呢?


  

先来看第一个问题,为什么会有模式和框架?人和动物的区别是会不会制造和使用工具,注意,不光会使用,还要会制造(比如猿类也能使用工具但不会制造工具)。每天做重复的工作或者类似的工作,常常会熟能生巧,就是找到处理此类问题的较科学省力的方法,不会武功的人碰到打架只会乱打,而将打人的方法归纳总结出来就形成招式,不同的招式再整合起来就形成了一套武功。模式pattern就是解决某一类问题的方法论。把解决某类问题的方法总结归纳到理论高度,就是模式,类似于招式,而框架,framework就是一组组件构成的半成品,可以用来快速完成自己的系统。框架更像是一个汽车制造厂,有了造车厂,造汽车就比自己乱组装来得容易多了,同时框架能够很好的应对可能出现的各类问题,举个栗子,郭靖郭大侠最有名的武功(框架)降龙十八掌,基本上凭此就能走遍天下,实在不行还有九阴真经嘛。至于二者的区别,模式是小技巧,解决小问题,是战术,框架则是大智慧,解决大问题,是战略。所以为了效率,学习模式和框架,也为了不再浪费宝贵的时间和人生,学习模式和框架。


再来看第二个问题,都有哪些模式?常见的23种设计模式:单例、Builder、原型、工厂方法、抽象工厂、策略、状态、责任链、解释器、命令、观察者、备忘录、迭代器、模版方法、访问者、中介者、代理、组合、适配器、装饰、享元、外观、桥接等

很多可能没用过,但是把遇到的活学活用就行啦。

关于框架,不吹毛求疵,就列举见到的。比如,MVC、MVVC、MTV、CBD、ORM、MVP、MVVM。

1、MVC  Model-View-Controller  ,模型-视图-控制器,1970年又老外最先提出,最开始时时MVCE,E即Editor,因为那个时候计算机还是个只会显示一行行代码的命令机器,还没有GUI(Graphical User Interface,图形用户界面 的概念。比如Android UI系统就用此类框架,MVC的角色看图就可以了。



2、MVVC

MVVC is a light multi-page and popular front frameworks supported web developing framework.

Model-View-ViewModel-Control ,更多请参考https://www.npmjs.com/package/mvvc


      3、MTV

Model(模型) -- Templates(模版) --Views(视图)

Django是标准的MTV框架。

      4、CBD

核心Core+行为Behavior+驱动Driver

ThinkPHP3.0版本引入了全新的CBD(核心Core+行为Behavior+驱动Driver)架构模式。

       5、ORM

Object Relational Mapping

ORM(Object Relational Mapping)框架采用 元数据来描述对象一关系映射细节,元数据一般采用XML格式,并且存放在专门的对象一映射文件中。
6. MVP
MVP 是Android 开发中非常值得推荐的框架,反编译大厂的应用,很多都用的这种。详细的参考Android源码设计模式或者关于腾讯工程师分享的文章,https://www.2cto.com/kf/201609/544830.html。

7、MVVM

Model-View-ViewModel

MVVM 与MVP非常相似,唯一的区别是View 和Model进行了双向绑定(data-binding),两者之间一方发生变化会反映到另一方上。MVP 中的View 更新需要通过Presenter,而MVVM则不需要。MVVM模式有点像ListView与Adapter、数据集的关系,这个Adapter就是ViewModel,与View 和Model进行了绑定。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值