导航:首页 > 软件知识 > 为什么程序员要讨论框架

为什么程序员要讨论框架

发布时间:2022-07-12 18:56:56

A. 使用框架的主要作用

框架的作用
任何语言、框架的发展都是为了降低程序之间的依赖性和耦合性,使重用性达到最高。
在我们平时的四层框架中,界面层page、action层、业务逻辑层service、数据访问层,虽然分层明确,代码清晰,但是层与层之间有着很高的依赖性,比如service层处理业务逻辑构造sql语句时需要引用层的对象,调用层的方法执行sql语句,而action层处理界面动作的时候又要引用service层的对象,调用service层的方法,这样一来,实例action对象的时候要同时实例至少一个service对象和一个对象,这样依赖性太强,因此我们把他们做成接口,只在类里写各层的引用,而不对引用进行实例化,用spring的ioc依赖注入,在spring容器启动时来实例化引用,降低了程序的依赖性,如果某个业务逻辑发生变化,可以重新写一个新的业务逻辑实现类,修改spring的配置文件即可,不用每个action代码中去改new的对象,这就是依赖注入。
我们通常说一个方法只做一件事情,但是实际是实现不了的,因为一个方法除了做业务逻辑处理外还要至少处理事务、日志等事情,这些东西没有办法脱离,因此spring的aop面向切面,就将事务和日志可以定义成切面,配置的配置文件中,在你需要的时候切入进来,代码中缺很清晰没有事务和日志,这就是spring的aop。
事务的处理: 在以往的JDBCTemplate 中事务提交成功,异常处理都是通过Try/Catch 来完成,而在Spring中。Spring容器集成了TransactionTemplate,她封装了所有对事务处理的功能,包括异常时事务回滚,操作成功时数据提交等复杂业务功能。这都是由Spring 容器来管理,大大减少了程序员的代码量,也对事务有了很好的管理控制。Hibernate中也有对事务的管理,hibernate 中事务管理是通过SessionFactory 创建和维护Session 来完成。而Spring 对SessionFactory配置也进行了整合,不需要在通过hibernate.cfg.xml来对SessionaFactory进行设定。这样的话就可以很好的利用Sping对事务管理强大功能。避免了每次对数据操作都要现获得Session实例来启动事务/提交/回滚事务还有繁琐的Try/Catch操作。这些也就是Spring中的AOP(面向切面编程)机制很好的应用。一方面使开发业务逻辑更清晰、专业分工更加容易进行。另一方面就是应用Spirng AOP隔离降低了程序的耦合性使我们可以在不同的应用中将各个切面结合起来使用大大提高了代码重用度。

B. 程序开发中的框架是什么

程序开发中的框架(例如1000万+行的Qt)往往是对常见功能的封装(类似于成语对常用含义的代指,不同点在于应用框架最终对CPU表达含义时候会把成语替换为原本含义-通过函数调用),抛开框架,程序会变得因缺少一些'固定成语'(函数)的'释义'(函数实现)而变得无法执行。

所以,程序框架理解为基础或者机械标准件(例如螺丝螺母这些有明确标准的机械部件)更为贴切。

这样理解,假如你要造一辆马车,在没有框架的情况下,你需要自己去伐木,去把木头做成木板,木棍,然后组成轮子,门,等部件,然后组装起来,但如果你用了框架,就相当于你有现成的轮子,门等部件,你只需要组装一下就可以了。

可以说,一个框架是一个可复用的设计构件,它规定了应用的体系结构,阐明了整个设计、协作构件之间的依赖关系、责任分配和控制流程,表现为一组抽象类以及其实例之间协作的方法,它为构件复用提供了上下文(Context)关系。因此构件库的大规模重用也需要框架。

拓展资料:

框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。

C. 为什么使用框架 使用框架的优缺点

正文开始我们是由于效率和易用性的考虑才产生框架。框架能节省开发时间。框架强制使用公共的约定,因此它能有效地解决一些共有的问题,比如页面渲染,assert判断,安全或者应用配置等。这些共有的问题有个共通的特性是会在每个web应用上都用到。
框架是非常好的,它能让决定更连贯。框架能避免我们写一大堆自定义模块来实现这些性能,我们所需要做的就是将这些共用模块放在框架中实现。框架节省了我们不少的时间和精力,并且让扩展变得更容易。但是这也是问题的根本所在。
对锤子来说,所有事物都是钉子
Abraham Kaplan说过的一句话能最好地控诉工具的缺点:把锤子给一个小孩,他会用锤子槌遇到的所有事物
这就是衡量你是否更职业的时候了,交付对未来扩展最好的代码而不是交付最容易实现的代码。是为了以后的需求更好的设计你的代码还是让以后的人做需求的时候再考虑,这就是程序员的责任感问题了。作为一个更职业的开发者,我们必须不依赖框架独立思考。
这就是你的错
是不是经常听到某人在抱怨某个框架?我已经听见好多人抱怨过Rails了:“Rails应用总是糟糕的结构”或者“Rails测试总是这么慢”。最开始,我也曾经这么认为。但是现在,每当我听到这些抱怨的时候,我就会意识到其实抱怨者是懒惰的。Rails,或者其他框架,只是一个工具而已,你要做的是控制它。把坏代码归咎于无生命的框架只能说明你的不专业。
选择正确的工具,或者正确地使用工具
决定变得更专业
我们必须根据基本的需求来选择工具。框架确实能做很多事情,并且需求会决定整个代码结构。有的时候框架会很适合某个需求。但是当框架不适合某些需求的时候,你就有责任为了代码的清晰和干净修改框架或者封装框架。
作者Myles Megyesi正文结束读后感文章中提到框架只是一个工具,你不能用这个工具来满足你的所有需求,当框架无法清晰完整地满足你的需求的时候,你要做的不是写一大堆垃圾麻烦的代码来实现需求,更不是修改你的需求来满足更容易实现这件事。作为更专业的你,你需要修改框架,或者使用抽象等思维来使你的代码达到清晰干净。
这点在实际开发中会遇到非常多。当别人问你:这里的代码为什么这么写? 如果你的回答是:没办法啊,因为框架是这么这么做的,我只能这么这么做。这就说明了你已经被框架束缚住了。不要认为框架是权威,框架也是别人写的,它写的时候不会考虑到你的需求。只要你的需求是团队的公共需求,需要修改,增加框架的时候,你就应该修改框架。
代码是让人更清晰自然的阅读和开发的,如果被一个框架捆绑住,实际上就是本末倒置了。

D. 一个程序员更我说框架和业务层的 区别是什么意思

业务指的是你对具体的游戏故事实现的部分代码.

框架是指用什么设计代码套路来完成这个具体的游戏内容实现.

E. java的web开发为什么一定要使用框架

框架只是为了方便,快速的构建自己的应用。
根本目的还是说为了分离我们的业务逻辑,方便维护。
我们一般的web项目都是分为视图层,控制层,业务层,持久层等
各个框架其实也是根据这些划分就行的,比如struts是衔接视图层和控制层的,hibernate是持久层的,spring是struts和hibernate的粘合剂,必不可少。当然还有其他的框架,也是一样的。
但是总归来讲还是为了分离业务,方便维护,快速开发。

F. Java框架的重要性

struts是一个比较老的框架了,从出现到现在已经快7年了,它出现之前web开发规范还处于比较混乱的状态,正是它的出现把web开发带入了一个新的时代,在当时说struts应该受到顶礼膜拜一点也不为过。struts主要的优势在于表现层,它能够良好的支持表单的自动映射到你的javabean中,对业务逻辑的控制也比较容易,缺点在于他是比较老的框架,由于当时设计上的原因导致struts不像比较新的框架如spring那样可以是程序完全独立于框架之外,使程序还是要依赖框架的。

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
Spring的架构性的好处
在我们进入细节以前,让我们看一下Spring可以给一个工程带来的一些好处:
. Spring能有效地组织你的中间层对象,无论你是否选择使用了EJB。如果你仅仅使用了Struts或其他的包含了J2EE特有APIs的framework,你会发现Spring关注了遗留下的问题,。
. Spring能消除在许多工程上对Singleton的过多使用。根据我的经验,这是一个主要的问题,它减少了系统的可测试性和面向对象特性。
. Spring能消除使用各种各样格式的属性定制文件的需要,在整个应用和工程中,可通过一种一致的方法来进行配置。曾经感到迷惑,一个特定类要查找迷幻般的属性关键字或系统属性,为此不得不读Javadoc乃至源编码吗?有了Spring,你可很简单地看到类的JavaBean属性。倒置控制的使用(在下面讨论)帮助完成这种简化。
. Spring能通过接口而不是类促进好的编程习惯,减少编程代价到几乎为零。
. Spring被设计为让使用它创建的应用尽可能少的依赖于他的APIs。在Spring应用中的大多数业务对象没有依赖于Spring。
. 使用Spring构建的应用程序易于单元测试。
. Spring能使EJB的使用成为一个实现选择,而不是应用架构的必然选择。你能选择用POJOs或local EJBs来实现业务接口,却不会影响调用代码。
. Spring帮助你解决许多问题而无需使用EJB。Spring能提供一种EJB的替换物,它们适于许多web应用。例如,Spring能使用AOP提供声明性事务而不通过使用EJB容器,如果你仅仅需要与单个的数据库打交道,甚至不需要JTA实现。
. Spring为数据存取提供了一致的框架,不论是使用JDBC或O/R mapping产品(如Hibernate)。
Spring确实使你能通过最简单可行的解决办法解决你的问题。这些特性是有很大价值的。
上面只有是框架,但都有这个几个缺点
1.灵活度不高,指在特殊情况下,不能个性化开发,因为框架已经固定死了
2.大型项目,很难维护,比如开发一套完整ERP,xml维护性不高
3.新手学习,上手慢(这点可以忽略)
4.Spring技术在遇到大数据比如1T以上,会运行速度很慢
5.据说高并发的时候会有问题. 还有就是工程大了bean的配置文件不好维护等。

G. Vue框架为什么得到了前端程序员很高的评价

很多使用过vue的程序员这样评价它,“vue.js兼具angular.js和react.js的优点,并剔除了它们的缺点”。授予了这么高的评价的vue.js,也是开源世界华人的骄傲,因为它的作者是位中国人–尤雨溪(EvanYou)

如果你是一个已经在学习开发的初学者亦或是一名在代码界纵横多年的程序员,那你一定对前端不陌生。它不像其他编程语言那样晦涩难懂,可以做到“所见即所得”,或许这也是很多初学者选择前端的原因之一。昨天在刷微博的时候,看到了这样一个观点,说前端开发的vue.js很有趣,然后今天就准备和大家聊聊这个“有趣”的前端框架—Vue。

Vue的优势

1)Vue确实小而美,开发体验非常好。Vue 的核心库只关注视图层,它不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与单文件组件和 Vue 生态系统支持的库结合使用时,Vue 也完全能够为复杂的单页应用程序提供驱动。

2)Vue 不支持 IE8 及以下版本,因为 Vue 使用了 IE8 无法模拟的 ECMAScript 5 特性,这可能算是一个小的不完美,但它支持所有兼容ECMAScript 5的浏览器。

3)在 Vue 里,一个组件本质上是一个拥有预定义选项的一个Vue 实例。在 Vue 中注册组件很简单,也是它的一大优势。

Vue的应用

1)Vue.js 的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进 DOM 的系统。Vue的使用非常的简单,创建一个本地的 .html 文件,然后通过如下方式引入Vue:

这样, 我们就已经成功创建了第一个 Vue 应用!

2)现在有很多大公司都在使用Vue

饿了么,有越来越多的项目在使用 vue。这些项目里面,有桌面端(比如饿了么安全应急响应中心)也有移动端(比如饿了么招聘),有面向用户的,也有后台系统。

掘金,全网都是用 Vue.js + Webpack 实现的,算是一个纯前端应用。

苏宁易购,触屏版的购物车结算页面已经用 Vue 重构,在众多框架中还是选择了 Vue,主要还是因为 API 比较友好,体验上也流畅了。

据不完全统计,包括美团、天猫、Laravel、htmlBurger等国内外知名大公司都在使用vue进行新项目的开发和旧项目的前端重构工作。

你会用吗?

1)对于前端初学者不建议学习,一门语言的入门一定是从基础语法开始的,掌握了基本知识,才能更加灵活的使用框架,为之后的工作打下良好的基础。

2)在熟练掌握了基础之后,建议个人可以用vue。练练手,为后续大项目做技术储备。已经在从事前端开发的小伙伴们也可以多接触,多学习些。

3)招聘网站搜索来的薪资,部分截图给大家看下

现在学习还不晚哟~

H. 为什么做javaweb要用到框架

使用框架有一个很笼统的好处:第一,可以加快开发进程,在类似项目中重用代码将为开发者节省大量的时间和精力.框架为执行繁琐的代码任务提供预建模块.这个好处放在哪一个框架都是很适用的.但是再往深层的想呢?
其实在软件里有很多优秀的框架,有一种类型的框架,它的特点是建立在一个现有技术的基础上,提供和现有技术一样业务功能的技术框架,这个新的技术框架比原技术更加易用,更加健壮同时功能更加强大,例如:jQuery,以及本文所要谈到的struts2和springMVC,深究这些框架都是相当之复杂,但是它们的优点其实只有一个:就是让使用者只关心核心业务的开发,框架帮你屏蔽原有技术跟业务开发无关的各类技术问题。像jQuery,struts2或springMVC这类框架之所以优秀,就是它们在这点上做的太好了,以至于很多使用它的程序员都已经不清楚原有技术的真实面目,因此我们要将struts2理解的更好,使用的更加熟练和深入,这里我们就要跳出struts2的技术,到struts2技术的源头servlet,仔细研究下servlet的特点,只有这样我们才能把struts2框架学的更好。

阅读全文

与为什么程序员要讨论框架相关的资料

热点内容
市场上说的真钻是什么钻 浏览:78
plc不亮了如何复制程序 浏览:353
德州文玩市场在哪里 浏览:258
什么数据适合关联规则分类 浏览:224
ems邮寄信息平台保存多久 浏览:3
股票市场行情哪个好 浏览:395
重庆皇田花卉市场在什么地方 浏览:50
中木集团墙饰怎么代理武汉 浏览:986
电路板的程序是怎么做的 浏览:135
考试信息管理平台id一般是什么 浏览:94
表与表之间的数据如何合计 浏览:614
遵义女装折扣代理哪个好 浏览:749
代理返款图片怎么做 浏览:201
代理国家的公司有哪些 浏览:997
有一个摄影技术跟vr挂钩叫什么 浏览:245
宜春乌龙茶代理需要什么条件 浏览:994
各种核算程序都有什么 浏览:780
沈阳计算技术研究所在哪里 浏览:801
饰品交易哪个平台最便宜 浏览:230
哪些业务不可以办理取消交易 浏览:190