java架构师培训-架构和框架的区别

69 篇文章 0 订阅
43 篇文章 0 订阅

架构和框架的区别是什么?相信问这个问题的一定是新手小白。确实会有人在刚刚入门编程的时候,架构和框架的傻傻分不清。本文就框架和架构的定义、使用、特点等等方面,进行对比分析。

java架构师培训

一、框架:

1、定义:

框架(framework)它是整个系统或部分系统的可重用设计,表示为一组抽象组件以及组件实例之间的交互方法。另一个定义是,框架是可以由应用程序开发人员定制的应用程序框架。前者来自应用程序方面,后者是从墓地方面给出的定义。

框架是可以采用的设计组件,通常采用组件库的形式,但是框架库只是框架的重要组成部分。框架的关键在于框架中对象之间的交互模式和控制流模式。

2、框架和构件

框架比组件更具可定制性。在某种过程中,最好将组件和框架视为两种不同但相互协作的技术。该框架为组件提供了重用环境,并为组件提供了处理错误,交换数据和激活操作的标准方法。

3、应用框架

应用程序框架是基础服务,用于实现某些应用程序领域(不包括特殊应用程序的部分)的常规和完整功能。使用该框架的程序员可以在已实现通用功能的基础上,开始特定的系统开发。该框架提供了所有应用程序期望的默认行为的集合。特定的应用程序通过重写子类或组装对象来支持特定于应用程序的行为。

4、框架的特点

①其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统,而且框架一般是成熟的,不断升级的软件。

②框架是一个可复用设计,它是由一组抽象类及其实例间协作关系来表达的。

③一个框架是在一个给定的问题领域内,一个应用程序的一部分设计与实现,也就是说框架是对特定应用领域中的应用系统的部分设计和实现。

5、为什么要用框架

因为当今软件系统的开发已经变得非常复杂,尤其是服务器端软件,它涉及太多的知识,内容和问题。在某些方面使用别人的成熟框架等效于让别人帮助您完成一些基本工作。您只需要集中精力完成系统的业务逻辑设计。而且,该框架通常是成熟且健壮的,并且可以处理系统的许多详细问题,例如事务处理,安全性,数据流控制和其他问题。还有许多人通常使用的框架,因此结构非常好,因此可伸缩性也非常好,并且不断地进行升级,您可以直接享受其他人的升级代码的好处。

二、架构

1、定义

软件架构(softwarearchitecture)是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计,是一个系统的草图,描述的对象是直接构成系统的抽象组件。各个组件之间的连接明确细致的描述组件之间的通讯。

2、如何使用

在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或对象,在面向对象领域当中,组件之间的连接通常用接口来实现。软件体系结构是构建计算机软件实践的基础。

3、要素

①它是一个软件系统从整体到部分的最高层次的划分。系统通常由组件组成,这些组件如何形成以及它们如何相互作用是有关系统本身结构的重要信息。详细地,它将包括架构组件(ArchitectureComponent),连接器(Connector),任务流(Task-flow)。所谓的体系结构元素是构成系统的核心“砖块”,而连接器描述了这些组件之间的通信路径,通信机制和预期结果,而任务流则描述了系统如何使用这些组件和连接器来完成有一定的需求。

②建造一个系统所作出的最高层次的、以后难以更改的,商业的和技术的决定。在建造一个系统之前会有很多的重要决定需要事先作出,而一旦系统开始进行详细设计甚至建造,这些决定就很难更改甚至无法更改。显然,这样的决定必定是有关系统设计成败的最重要决定,必须经过非常慎重的研究和考察。

4、设计目标

可靠性(Reliable)。软件系统对于用户的商业经营和管理来说极为重要,因此软件系统必须非常可靠。

安全性(Secure)。软件系统所承担的交易的商业价值极高,系统的安全性非常重要。

可扩展性(Scalable)。软件必须能够在用户的使用率、用户的数目增加很快的情况下,保持合理的性能。只有这样,才能适应用户的市场扩展得可能性。

可定制化(Customizable)。同样的一套软件,可以根据客户群的不同和市场需求的变化进行调整。

可伸缩(Extensible)。在新技术出现的时候,一个软件系统应当允许导入新技术,从而对现有系统进行功能和性能的扩展。

可维护性(Maintainable)。软件系统的维护包括两方面,一是排除现有的错误,二是将新的软件需求反映到现有系统中去。一个易于维护的系统可以有效地降低技术支持的花费。

客户体验(CustomerExperience)。软件系统必须易于使用。

市场时机(TimetoMarket)。软件用户要面临同业竞争,软件提供商也要面临同业竞争。以最快的速度争夺市场先机非常重要。

三、框架与架构区别

框架是软件,架构不是软件。

框架是一种特殊的软件,它不提供完整的解决方案,但为您构建解决方案提供了良好的基础。框架是半成品。通常,框架是系统或子系统的半成品。框架中的服务可以由最终应用程序系统直接调用,并且框架中的扩展点是由应用程序开发人员定制的“可变点”

软件体系结构不是软件,而是关于软件设计方式的重要决定。软件体系结构决策涉及如何将软件系统分解为不同的部分,各部分之间的静态结构关系和动态交互等。在完成一个完整的开发过程之后,这些体系结构决策将反映在最终开发的软件系统中;当然,在引入软件框架之后,整个开发过程将变成“两步走”,并且架构决策通常会反映在框架中。在。

框架技术和架构技术的出现,都是为了解决软件系统日益复杂所带来的困难而采取“分而治之”思维的结果。先大局后局部,就出现了架构;先通用后专用,就出现了框架。架构是问题的抽象解决方案,它关注大局而忽略细节;而框架是通用半成品,还必须根据具体需求进一步定制开发才能变成应用系统。

推荐阅读:java架构师培训:java最佳测试框架JBehave的基本介绍

如果你想了解更多关于java架构师的专业知识,可以加入JAVA架构师交流群:1160405674,里面都是同行,有资源分享包括但不限于(分布式架构、高可扩展、高性能、高并 发、Jvm性能调优、Spring,MyBatis,Nginx源码分析,Redis,ActiveMQ、Mycat、Netty、Kafka、Mysql 、Zookeeper、Tomcat、Docker、Dubbo、Nginx)。欢迎一到五年的工程师加入,合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值