软件架构, 软件框架,设计模式的区别

软件架构

软件的架构是系统的一个草图、阐述了各个组件之间的通讯、划分层次、一旦系统开始详细设计、架构蓝图就很难甚至无法更改、是由软件架构师从无到有设计出来的。

比如说,多台机器负载均衡,用户访问多个不同业务的前端项目,前端项目通过HTTP接口访问服务器前端项目,服务器前端项目通过接口访问服务器后端项目,服务器后端项目访问并操作数据库数据

架构有广义和狭义的两种解释,广义上是指web服务的整体架构,即业务层缓存层,Db层,异步任务层等等的负载和互相通信的机制。狭义上,也指细化到代码上的一些设计,使代码具有低耦合、高内聚、各司其职、易更换、修改、可以分散部署、编码构建的性质。

软件框架

软件框架:是在一定领域内、别人已经对这个领域制作软件所需的基础架构功能、进行了总结、做出了有代码实体的软件框架结构、如果要制作这一领域的软件、可以在别人写好的框架上、继续设计、编写自己的软件、骨头架上填肉、框架有一定的局限性。

例:MVC(框架)

英文 Model View Controller、是针对Web开发、已经写好有代码的框架、分别为M 模型(model)-V视图(view)-C控制器(controller)三部分

目的:模型和视图分离开、使得一个模型可被多个视图使用、简单说就是同样的一个网站、用手机的视图(界面)和电脑的视图、可以共用一个模型。

设计模式

对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案、是一种解决方案的思想、不拘泥于代码、通常以类型或对象来描述其中的关系和相互作用、依赖与抽象、来达到解耦和、可宽展、易维护等、设计模式是用来解决问题的。特征是,落脚点一定是代码本身。

三者的区别

软件架构是指软件架构师在软件服务上,对复杂的软件整体规划的一种蓝图、一般是分层、画出各个组件的关系。

软件框架是指在特定的领域内、已经有人写好的框架(有代码)、框架有局限性、只限特定领域。

设计模式是指针对一些编程实际的问题所提出的抽象解决方案、用类与类之间的关系相互作用、达到目的。

推荐

此文来自我的电子书,欢迎关注: PHPer架构师

以及最近做的一个小程序,欢迎体验,提提建议 :smiling_imp:

软件架构, 软件框架,设计模式的区别

原文 

https://segmentfault.com/a/1190000022489060

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » 软件架构, 软件框架,设计模式的区别

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址