在编码的世界里,程序员永远不应该期望事物保持静止太久。技术决定了我们如何互动、创造、学习、生活和持续发展。对于程序员来说,只有接近并依靠最新的技术才能完成任务。而其中最深刻的变化就是框架、编程语言以及它们之间的范式转换。
编程语言本质上是一种与计算机交流的方式,通过语法和语义告诉计算机该做什么。框架是一起完成任务的程序的集合,这使得编码更加高效,通常也让程序员的生活更加轻松。
当然,两者绝不是对立的,但在编程界仍然存在一些争议:我们应该从头开始编写代码,还是使用各种框架来简化编码过程?一些流行的框架可能会给人错觉,比如Ruby on Rails和Angular。JS事实上,编程语言和伴随的框架正在不断崛起和繁荣。
框架VS定制解决方案
为什么框架越来越好,因为越来越多的程序员选择使用框架。当在实际的项目开发中,程序员会发现项目周期短,使用框架可以最有效地节省时间。如果完全从零开始编程,时间太长不好说,也会对程序员个人的编码水平提出很高的要求。在你有力量从头开始之前,你必须很好地了解编程语言。
但是,如果使用框架没有缺点,那么本文就没有必要了。关键是框架虽然做了大量的基础工作,但并不完全适合项目的需要,可能需要做一些修改。而从零开始编码,自然是完全符合项目的需求,甚至你会比框架出版者做得更好。
框架,比如Ruby on Rails,可以帮助用户减少编码细节,很多不好的编码习惯会被好的框架清理掉。当然,使用框架需要对编程语言有一定的了解,并且需要全面了解Ruby才能很好地使用Rails。从一般设计到安全问题,框架可以取代一些繁重的工作。
自动化正在接管一切
现在,自动化正在渗透到整个编码过程中,程序员不需要梳理成千上万行代码,许多无意义的附加组件或错误被编译器和自动化协议剥离,旨在删除不必要的代码段。这种演变要求程序员对特定代码的准确性有很好的理解。
学习正确的工具
正如文章开头提到的,编程语言和框架在不断发展。而它的成长之一就是依靠应用程序接口(API)和算法来帮助程序员完成任务。例如,框架通常定义和实现算法,并使它们正确,这有时对编程的成功至关重要,而不是语法细节。如果涉及到一些框架无法实现的功能,还是需要程序员自己去做。框架只是一个省时的编程工具,在程序员的工作中起到“辅助”作用。
建议:使用正确的框架,结合一些自编码,可以有效缩短项目开发周期,同时准确率高,无效代码数量减少!
为什么在程序开发中使用框架
什么是框架
在J2EE发展中,“框架”一词经常被提及。比如Spring、Struts、Webx等都叫J2EE开发框架。那么什么是框架呢?
框架的英文是Framework,意思是骨架和脚手架。
在软件工程中,框架被定义为系统整体或部分的可重用设计,表现为一组抽象组件和组件实例之间的交互方法;另一个定义是框架是应用程序开发人员可以定制的应用程序框架。
框架是可重用的设计组件,它规定了应用程序的体系结构,阐明了整个设计和协作组件之间的依赖关系、责任分配和控制流,并展示了一组抽象类及其实例之间的协作方法,为组件重用提供了上下文关系。
框架是实现应用领域一般功能的底层服务。使用这个框架的程序员可以在已经实现了一个公共功能的基础上开始特定的系统开发。该框架为应用程序预期的所有默认行为提供了一个类集合。特定的应用程序通过重写子类或组装对象来支持特定于应用程序的行为。
一般来说,框架是某个应用程序的半成品,它提供了一些常用的工具和一些基本的通用组件,开发人员可以使用它们来更方便地完成自己独特的系统。
为什么使用框架
现在的软件系统非常复杂,尤其是服务器端软件,涉及的知识和内容非常广泛。以这种方式开发出完善、健壮的软件,对程序员的要求会非常高。如果采用成熟健壮的框架,一些基本的通用任务,如事务处理、安全、数据流控制等。可以交给框架,所以程序员只需要专心完成系统的业务逻辑设计,这样可以降低开发难度。
从程序员的角度来看,使用框架最明显的优势就是重用。因为框架可以重用代码,所以从现有的组件库中构建应用程序非常容易,因为组件都采用框架定义的接口,这使得组件之间的通信变得简单。框架可以重用设计。它提供了可重用的抽象算法和高级设计,可以将大系统分解成更小的组件,并且可以描述组件之间的内部接口。这些标准接口使得通过基于现有组件的组装来构建各种系统成为可能。只要满足接口定义,就可以在框架中插入新的组件,组件设计者可以重用框架的设计。该框架还可以重用分析。如果所有人都按照框架的思想来分析事物,就可以把它分成相同的组件,采用相似的解决方案,这样采用相同框架的分析师就可以相互交流。
一种技术,最终是为商业发展服务的。从商业角度来看。首先,框架服务于企业的业务发展和战略规划,受制于愿景);企业的;其次,该框架最重要的目标是提高企业的竞争力,包括降低成本、提高质量、提高客户满意度和控制进度。最后,实现这个目标的方法是有效地积累知识。软件开发是一种知识活动,因此收集和积累知识非常重要。框架可以用结构化的方式描述一个特定的业务领域,即该领域的相关技术以代码、文档和模型的形式固化。
合理使用框架的好处
重用代码大大增加,软件生产效率和质量也有所提高;规范代码结构,降低程序员之间的沟通成本和以后的维护成本;知识的积累允许有经验的人员设计框架和领域组件,而不局限于低级编程;软件设计人员应专注于对该领域的理解,以使需求分析更加充分;允许快速原型技术;在一个项目中,多人一起工作是有益的;大粒度复用降低了平均开发成本,加快了开发速度,减少了开发人员数量,降低了维护成本,参数化框架增强了适应性和灵活性。
框架分类
框架不同于类库。该框架强调软件设计的可重用性和系统的可扩展性,从而缩短开发周期,提高大型应用软件系统的开发质量。
与传统的基于类库的面向对象复用技术相比,应用框架更加注重面向专业领域的软件复用。应用框架具有领域相关性,组件根据框架进行组合,生成可操作的系统。框架的粒度越大,它包含的领域知识就越完整。
J2EE有很多开源框架,一般每个框架都是针对某个领域的。
Struts是基于JavaEE应用的MVC设计模式的应用框架,弱化了业务逻辑接口和数据交互之间的耦合
Hibernate是一个对象关系映射框架,旨在使Java程序员能够使用对象编程思维来操作数据库。
Spring是一个全面的框架,它致力于J2EE应用程序的所有层的解决方案,而不是只关注某一层的解决方案。可以说,Spring可以作为应用开发的“一站式”选择,贯穿表示层、业务层、持久层。然而,Spring并不想取代那些现有的框架,它可以与其他框架无缝集成。
考虑到领域和编码实现,我们可以将框架至少分为三类。
第一类是基础类库,主要包含大多数项目需要的类库。(开发人员将其作为类库使用,可以简化一些常用的算法逻辑。)
第二类是基本框架,应整合或实现J2EE发展所需的共同功能。(这个框架可以为各种WEB项目的开发提供基础支持。)
第三类是平台框架,针对特定领域,实现特定领域所需的通用功能。(这个框架需要实现特定领域的业务逻辑。并且应该支持各种扩展)