专栏首页小狼的世界关于框架的一些思考

关于框架的一些思考

如果你的团队很小并且在软件开发领域也没什么经验,那么放下包袱使用开源框架吧(OSS Framework),但是如果你有一个很大而且有丰富经验的团队,那么最好还是开发

自己的框架。

什么是框架,并没有明确的解释,但是似乎我们听到这个名词以后大概都知道是怎么回事。Wiki上是这么定义的:框架是一种可复用的系统化设计。

软件的框架会包括支持程序、代码库、脚本语言以及一些其他的软件来帮助开发或者将项目中不同部分的组件联合起来。外界看来框架的不同部分就像是各种API。

根据这个定义,框架最基本核心的思想就是可复用的设计,更进一步的框架才会包含辅助程序、代码库和粘合性的代码。

“在代码可用这个层面上来讲,框架类似于API或者各种代码库,但与此不同的是,框架中流程控制不是由调用者,而是由框架本身决定的。”

各种各样的框架定义都表明,框架就是定义在开发过程中事情通常是怎么做的,框架定义了代码的结构、通用的样式。

在PHP开发中,框架通常都定义了一种MVC的实现,更进一步的会提供一个抽象的数据层、一套模版系统、一个测试框架或者其他的一些东西。

框架必须提供应用开发指导,这是非常重要的。在指导下进行新模块的设计、建立通用的文件夹结构、命名空间设计、测试设计等等。框架一般都应该包含一些通用的任务,

比如说邮件发送这样在WEB应用中非常常见的功能。另外有一些功能可能只有特定的框架中才有,比如说图像处理这样非常依赖应用类型的功能。有一点我们需要始终记住,

选择我们需要的工具来完成任务。

创建自己的框架。

开发自己的框架并不意味着一定要重复的制造轮子,编写MVC这样的扩展代码是非常费时间的一项工作。我们可以根据自己的需要,选择一些开源框架中的组建来加入到自己

的框架中。这就需要我们仔细考虑选用何种合适的开源框架组件。

为自己的框架选择部件。

下面这些原则可以帮助在选择框架部件中做出决策:

1、是否满足自己的功能需要;

2、是否理解功能概念,是否容易扩展。打破框架都是我们极力避免的,但有时候却避免不了这种情况;

3、是否有一个活跃的社区,是否有公司在背后支持;

4、社区是否稳定,能否提供稳定的支持;

5、管理是否规范,是否有版本控制和BUG跟踪;

6、当前版本是否未定;

7、当前公开的BUG和关闭的重要BUG的数量;

8、最后,是否有丰富的文档,是否有教程;

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • WAMP环境配置

    经过以上的步骤,一个 WAMP 的开发环境就配置好了,基本上能够满足开发一般应用的需要。

    大江小浪
  • 警惕Div和Class的滥用

    大概在06年的时候,我刚接触Div+Css的网站布局,那个时候大家对于标准的热情非常高涨,蓝色论坛里经常为了Table还是Div+Css而争论的热火朝天。现在,...

    大江小浪
  • 利用Apache ab以及GNUPlot来进行Web测试

    最近写了几个测试脚本,希望要观察使用PUT方式上传文件和使用POST方式上传文件,两者效率的差别。

    大江小浪
  • 框架和类库的区别

    架和类库等概念的出现都是源于人们对复用的渴望。“不要重复发明轮子”,成了软件界的一句经典名言。从最初的单个函数源代码的复用,到面向对象中类的复用(通常以类库的形...

    聚沙成塔
  • 深度学习框架哪家强?MXNet称霸CNN、RNN和情感分析,TensorFlow仅擅长推断特征提取

    深度学习框架哪家强:TensorFlow?Caffe?MXNet?Keras?PyTorch?对于这几大框架在运行各项深度任务时的性能差异如何,各位读者不免会有...

    AI科技大本营
  • 用户反馈:对 Rafy 开发框架的一些个人建议

    这篇文章是去年 Rafy 框架发布后,许胜平先生为我提出的一些建议。他从用户群体分析、社区、商业模式、技术支持等方面对框架发展提出了建议,我觉得写得非常不错。...

    用户1172223
  • 前端框架真的好吗?

    前端现在是一个技术爆炸的时代,各种打包工具webpack、grunt、gulp,各种包管理工具工具npm、bower、yarn,各种css预处理器scss、st...

    wade
  • 【程序源代码】java 开发框架

    Java ava EE(J2EE)快速开发框架,基于主流技术(Springboot、Spring MVC、MyBatis、Bootstrap、ACE),是XJJ...

    程序源代码
  • 软件开发过程中使用的框架有哪些

    框架在字面上的意思就是一个框子,有约束性和支撑性,是一个基本概念上的结构用于解决或处理复杂的问题,而在IT语言中的框架,是指未解决一个开放性问题而设计的具有一定...

    北京锐智互动
  • 企业如何应对安全威胁?看更新的NIST网络安全框架 | 视频

    NIST网络安全框架,是美国国家标准与技术研究所发布的一份指南,旨在指导各种企业和组织重视信息安全。该框架最早在2014年2月颁布,在今年的1.1新版本中也新增...

    FB客服

扫码关注云+社区

领取腾讯云代金券