atitit.提升研发管理的利器---重型框架 框架 类库的区别
atitit.提升研发管理的利器---重型框架 框架 类库的区别
1. 重型框架就是it界的重武器。
2. 框架 VS. 库 可视化图形化
框架和库有什么区别呢?两者的主要不同之处在于如何使用它们以及编写什么样的代码。
· 框架——框架控制了系统的运行,并定义了扩展点 (接口)来让用户进行实施;
· 库——库把系统运行控制权交给用户,并定义了功能和类型供用户使用。
框架和库之间的区别可用上图表示。框架定义了一个结构,你不得不将其填充好;而库则需要你围绕其提供的结构进行编码。
作者:: 老哇的爪子 Attilax 艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
3. 应用框架
2.应用框架中的类的函数,常调用应用程序中的函数。
3.含有类之间的关系,其预设了对象间的相互合作关系。
4.物件常含预设计行为(Default Behavior),预设行为可让应用程序员修正之。
4. 类库
1.目的:让程序员拿现成类来诞生对象,类并未预留空间给程序员来修正。
5. 框架是不可组合的
框架最大最显著的弱点是不可组合。如果你正在使用两个框架,这两者之间往往是很难兼容的;谁包含谁,谁是谁的外延也是不清晰的。
如果是库,情况则有所不同。因为你才是决策人,所以能够同时调用不同的库,虽然这会增加一定的编程复杂度,但至少是能够实现的。
6. 框架设计的俩个方向::全栈式与精细化
7. 选择框架还是库。。可组合的库
· 设计可组合的库
对于库来说,可组合属性是我们选择它而不是框架的原因之一。
8. 在最后
本文着重从可组合和避免回调方面对库和框架进行比较。进一步说,框架模式不仅存在于软件,在日常生活也是经常遇到的。例如参团游,从一开始,交通、住宿、 游玩行程等都已经被固定了;而自由行则类似于库的组合,任何细节都需要亲力亲为,从而实现全权控制。虽然参团游很方便,但是对于我,特别是软件开发,我还 是更倾向于我的地盘我做主
参考
函数式语言库模式:框架是魔鬼?-CSDN.NET.htm
atitit.提升研发管理的利器---重型框架 框架 类库的区别的更多相关文章
- atitit.提升研发效率的利器---重型框架与类库的差别与设计原则
atitit.提升研发效率的利器---重型框架与类库的差别与设计原则 1. 框架的意义---设计的复用 1 1.1. 重型框架就是it界的重武器. 1 2. 框架 VS. 库 可视化图形化 1 2.1 ...
- atitit.提升研发效率的利器---重型框架与类库的区别与设计原则
atitit.提升研发效率的利器---重型框架与类库的区别与设计原则 1. 框架的意义---设计的复用 1 1.1. 重型框架就是it界的重武器. 1 2. 框架 VS. 库 可视化图形化 1 2.1 ...
- Atitit.研发管理--提升效率--软件开发方法DSM总结o99
Atitit.研发管理--提升效率--软件开发方法DSM总结o99 1. 什么是DSM? 1 2. DSM使用的语言DSL 2 3. 模型的优点 2 4. DSM 跟与MDA区别 2 5. MDA的实 ...
- Atitit.研发管理软件公司的软资产列表指南
Atitit.研发管理软件公司的软资产列表指南 1. Isv模型下的软资产1 2. 实现层面implet1 3. 规范spec层1 4. 法则定律等val层的总结2 1. Isv模型下的软资产 Sof ...
- Atitit.提升 升级类库框架后的api代码兼容性设计指南
Atitit.提升 升级类库框架后的api代码兼容性设计指南 1. 增加api直接增加,版本号在注释上面增加1 2. 废弃api,使用主见@dep1 3. 修改api,1 4. 修改依赖import, ...
- Atitit.研发管理---TOGAF架构跟 (ADM开发方法)总结
Atitit.研发管理---TOGAF架构跟 (ADM开发方法)总结 1. TOGAF是在过去二十年间出现的企业架构框架 1 2. TOGAF内容结构 1 3. TOGAF 实现过程 2 4. 参考 ...
- atitit 研发管理 要不要自己做引擎自己实现架构?.docx
atitit 研发管理 要不要自己做引擎自己实现架构?.docx 1.1. 目前已经有很多引擎了,还要自己做吗??1 1.2. 答案是自己做更好,利大于弊1 2. 为什么要自己做??1 2.1. 从历 ...
- atitit. 研发管理---如何根据自己的特挑选 产业、行业、职业、岗位与自己发展的关系
atitit. 研发管理---如何根据自己的特挑选 产业.行业.职业.岗位与自己发展的关系 1. 产业及分类 1 2. 二.行业 2 3. 职业概念- 3 4. 职业划分 3 5. 职业兴趣分类 4 ...
- atitit.研发管理--标准化流程总结---java开发环境与项目部署环境的搭建工具包总结
atitit.研发管理--标准化流程总结---java开发环境与项目部署环境的搭建工具包总结 1. ide系列(只开发环境需要,但部署环境也做好放上,很有用) 1 2. web服务器+sdk+网站程序 ...
随机推荐
- 发布一个C++版本的ORM库SmartDB
先简单说说ORM的优点: 提高开发效率,减少重复劳动,只和业务实体打交道,由业务实体自动生成sql语句,不用手写sql语句. 简单易用, 可维护性好. 隔离数据源,使得我们更换数据源时不用修改代码. ...
- 深度学习文档 DeepLearning 0.1 documentation
Contents LICENSE Deep Learning Tutorials Getting Started Download Datasets Notation A Primer on Supe ...
- c++学习之多态(虚函数和纯虚函数)
c++是面向对象语言,面向对象有个重要特点,就是继承和多态.继承之前学过了,就是一种重用类的设计方式.原有的类叫父类,或者基类,继承父类的类叫子类.在设计模式中,我们总是要避免继承,推荐用组合.因为继 ...
- javascript学习笔记------概念相关
javascript中的函数.对象 1. 在javascript中,函数是被当成一种数据类型,它可以被存储在一个变量.数组.对象中,可以被当作参数传递到另一个函数中. 函数就像是字符串和数字这样的的数 ...
- Ubuntu挂载samba共享目录
Ubuntu中现在没有smbfs了,所以smbmount命令也用不了了,现在可以使用mount.cifs命令来挂载. Usage: mount.cifs <remotetarget> & ...
- AUC(Area Under roc Curve)学习笔记
AUC是一种用来度量分类模型好坏的一个标准. ROC分析是从医疗分析领域引入了一种新的分类模型performance评判方法. ROC的全名叫做Receiver Operating Character ...
- Objective-C中3种枚举比较及KVC两个小技巧
Objective-C中3种枚举比较及KVO两个小技巧 一:oc的3种枚举 for循环 for in 枚举块 如代码 NSUInteger totalCount = 10000; NSMutableA ...
- flowplayer视频播放插件[转]
最近项目中需要添加播放视频的功能,视频文件是flv格式的.在网上找了一些jQuery视频播放插件,还是觉得“flowplayer”要好一些.特将使用方法记录一下. flowplayer也有html5版 ...
- Vue 源码 基础知识点
1.数据类型判断 const _toString = Object.prototype.toString function toRawType(value) { return _toString.ca ...
- 自己主动化測试使用mybatis更新数据库信息实例
代码例如以下: mybatis配置文件: <? xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ...