`
fjilyfe
  • 浏览: 40098 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

什么是框架(一)

阅读更多


wiki上,software framework的解释是In computer programming, a software framework is an abstraction in which common code providing generic functionality can be selectively overridden or specialized by user code, thus providing specific functionality. Frameworks are a special case of software libraries in that they are reusable abstractions of code wrapped in a well-defined Application programming interface (API), yet they contain some key distinguishing features that separate them from normal libraries.

 

上文对软件框架的解释中,比较重要的概念是抽象,封装,继承和重写,同面向对象语言的特征很接近,那么,如何才能确定或者积累一套框架呢?一个高质量的框架的标准是什么呢?为了解答上述两个问题,先分析一下框架的目的是什么?

 

 

当公司接到第一个项目时,可以没有框架,某个程序员直接用SSH搭建起来,然后实现合同中的系统功能,达到用户要求,便可以交差了,实现系统功能的时间一般很短,大概占项目时间的三分之一到四分之一,而大量时间却浪费在了完善阶段,为什么一个项目时间会浪费在完善上,举一个例子,当项目系统功能开发完成时,用户提了一个小要求,某几个功能的名称需要修改一下,这种看似简单的小问题,如果当初程序员为了偷懒,把这些名称硬写到页面中的话,而恰恰这个名称涉及30个页面,程序员杯具了,他需要一两天的时间修改,如果用户不客气,一下子提出十几个类似这样的小问题,项目经理杯具了,项目可能需要延期一个月完善并测试。

 

我想,很多起初做项目的朋友,都会遇到类似这样的问题,用户反复的提出一些让你没法拒绝的意见,全部都是该名称、换位置、调颜色、换图片等搬砖工作,程序员一遍一遍的修改一些技术含量为零的需求,测试人员需要不厌其烦的一遍一遍测试,项目成本也在悄无声息的增加。最后,老板一拍桌子,大喊一声“XXX,当初说项目两个月完工,为什么做了四个月?”程序员大喊一声:“XXX,爷不干了,天天变来变去的,有完没完啊?”项目经理最后只能以离职收场。

 

解决上述问题很简单,就是利用框架中的第二个概念——封装,所有的重复代码、变量,包括javajavascripthtml,全部封装起来,如果是个性化变量及配置,可以考虑配置文件,即使是批量改,也要集中到一个地方修改,这就是配置文件的重要作用之一。

 

框架的第一个目的,简单来说,就是方便控制项目时间。对于用户来说,小的意见总是会有的,而且这些意见也是让你无法拒绝的。对于项目经理来说,项目需要修改时,大的漏洞并不可怕,因为他直观,并且单一,例如性能问题,安全问题,这些是硬伤,解决一次就能完成任务,而且有理由延期或者签订补充合同。而如何能简单快速修改项目中没有技术含量的小问题,才是成本控制的关键,因为用户需求是不可控制的,只能控制修改问题的时间。


(未完待续)

分享到:
评论

相关推荐

    UI框架 界面框架 WEB框架

    WEB 框架是指一种基于 WEB 的应用程序框架,提供了一整套的解决方案,帮助开发者快速地开发出功能强大、美观的 WEB 应用程序。WEB 框架通常包括了各种组件,如服务器端语言、数据库、缓存机制等,并提供了丰富的工具...

    SSM框架下的一对多和多对一查询

    SSM框架,全称Spring、SpringMVC和MyBatis,是Java开发中常用的一种Web应用框架组合。这个框架集合了Spring的IOC(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)功能,...

    若依框架VUE前端界面,登录后默认跳转至动态路由第一路由(第一个子菜单)

    若依前后端分离框架去掉首页 登录后跳转至动态路由的第一个路由 (第一个子菜单) 若依前后端分离框架去掉首页 登录后跳转至动态路由的第一个路由 (第一个子菜单) 若依前后端分离框架去掉首页 登录后跳转至动态...

    设置框架和框架集的属性

    框架集允许网页开发者将浏览器窗口分割成多个独立的区域,每个区域称为一个框架,在其中可以分别展示不同的网页内容。这一切的操作,都依赖于框架集文件的布局、数量、链接和属性等信息的精心安排。 如今,虽然现代...

    一种开源业务系统框架winform源码

    【标题】"一种开源业务系统框架winform源码"揭示了这是一个基于Windows Forms(Winform)的开源软件开发框架,专用于构建业务系统。Winform是.NET Framework中的一个UI库,用于创建桌面应用程序,它提供了丰富的用户...

    如何搭建自己的Java开发框架

    首先,我们需要回答几个问题,以确定我们为什么要写一个框架,什么是我们的框架,谁是我们的用户对象,如何维护和发展我们的框架等等。这一步骤被称为定位。只有在明确了我们的目标和方向后,我们才能开始设计和开发...

    各种系统框架图简介系统框架图

    Spring是一个广泛使用的Java应用程序框架,它的核心目标是简化开发,解决应用程序的复杂性。Spring的分层架构允许开发者选择性地使用其中的组件,它不仅适用于J2EE环境,也可用于独立应用。Spring框架的核心包括: ...

    j2me开发框架介绍

    J4ME-开源的 UI Logger 项目是一个 J2ME 应用程序开发包,它包括一个 UI 框架、一个日记框架用于帮助调试因不同品牌手机的差异而产生的问题。 5. OpenBaseMovil OpenBaseMovil 是一个 J2ME 应用程序开发框架,包括...

    一个非常好用的前端框架,拖拽复制就能用

    "一个非常好用的前端框架,拖拽复制就能用",这显然指的是一个易用且功能丰富的前端框架,允许开发者通过简单的拖放操作和复制粘贴快速创建网页元素。 该框架可能包含了以下关键特性: 1. **组件化**:它可能拥有...

    ios 数据请求框架 图片请求框架 刷新框架 kvc框架,进度条框架

    5. **进度条框架**:MBProgressHUD是一个优雅的进度指示器框架,它可以显示圆形或者线性的进度条,还可以展示文本信息。除此之外,SVProgressHUD是另一个常用的选择,它提供了丰富的自定义选项,包括颜色、透明度、...

    前端大屏展示框架一

    大屏展示的框架,,,,,

    SSM框架介绍.pptx

    Ssm框架是Java领域中的一种流行的框架,它是由Spring、SpringMVC和Mybatis三个组件组成的。下面我们将对Ssm框架的每个组件进行详细的介绍。 Spring框架介绍 Spring框架是Java应用最广的框架,它的成功来源于理念,...

    漂亮的html后台界面框架

    “blue_ganjing”可能是这个框架的主题名称或者是压缩包内的一个目录,暗示了该框架可能包含一种蓝色调的精美设计,或者“甘镜”可能是设计风格的一种代称,寓意清晰、高雅。 在使用此类HTML后台界面框架时,开发者...

    一个AT指令解析框架,mark一下

    AT指令解析框架是一种用于处理和解析AT(Attention)指令的软件工具,广泛应用于通信设备,如GSM/GPRS模块、蓝牙模块、Wi-Fi模块等。AT指令是串行通信中的控制命令,允许用户通过简单的文本命令与硬件进行交互,设置...

    java程序设计-基于Java 构建的棋牌游戏框架,支持单台游戏服务器一到两千人同时在线

    Java 棋牌游戏框架 WG棋牌包网项目, java服务器.支持单台游戏服务器一到两千人同时在线. 包含: 1.游戏基础框架 2.网关,路由通信模块 3.游戏机器人框架 4.大厅,房间,桌子流程 5.完善的统一棋牌控制库存框架,支持游戏...

    一个初级入门的框架,,简洁实用

    【标题】: "一个初级入门的框架,简洁实用" 这个标题揭示了我们正在讨论的是一款专为初学者设计的框架,它的主要特点是简洁且实用。对于刚接触编程或框架技术的人来说,这样的框架提供了易于理解的基础,使他们能够...

    UI框架模板一(兼容IE8)

    "UI框架模板一(兼容IE8)"是一个专门针对老旧浏览器,尤其是Internet Explorer 8(IE8)进行优化的UI设计框架。Bootstrap是一个广受欢迎的开源UI框架,它简化了网页开发过程,同时提供了良好的跨浏览器兼容性。 ...

    XeFramework 一款轻量级的Delphi通用系统UI框架

    一款轻量级的Delphi通用系统UI框架,基于MlSkin皮肤组件构建 功能特性(Feature): 框架UI界面设计简洁、轻量、时尚和风格统一,代码一看就懂,容易上手和维护 框架代码部分采用模块化设计,代码之间的耦合度低,旧...

    框架结构一榀框架手算计算书.doc

    框架结构一榀框架手算计算书.doc

    zp_adminn-master_zp框架_bootstrap_zp框架下载_

    【标题】"zp_adminn-master_zp框架_bootstrap_zp框架下载_" 暗示这是一个基于ZP框架构建的Web管理后台项目,同时结合了Bootstrap前端框架进行设计和开发。这个项目可能是一个开源或者免费下载的资源,专为那些希望...

Global site tag (gtag.js) - Google Analytics