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

软件架构

软件的架构是系统的一个草图、阐述了各个组件之间的通讯、划分层次、一旦系统开始详细设计、架构蓝图就很难甚至无法更改、是由软件架构师从无到有设计出来的。
比如说,多台机器负载均衡,用户访问多个不同业务的前端项目,前端项目通过HTTP接口访问服务器前端项目,服务器前端项目通过接口访问服务器后端项目,服务器后端项目访问并操作数据库的数据。

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

软件框架

软件框架:是在一定领域内、别人已经对这个领域制作软件所需的基础架构功能、进行了总结、做出了有代码实体的软件框架结构、如果要制作这一领域的软件、可以在别人写好的框架上、继续设计、编写自己的软件、骨头架上填肉、框架有一定的局限性。
例:MVC(框架)
英文 Model View Controller、是针对Web开发、已经写好有代码的框架、分别为M 模型(model)-V视图(view)-C控制器(controller)三部分
目的:模型和视图分离开、使得一个模型可被多个视图使用、简单说就是同样的一个网站、用手机的视图(界面)和电脑的视图、可以共用一个模型。

设计模式

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

三者的区别

软件架构是指软件架构师在软件服务上,对复杂的软件整体规划的一种蓝图、一般是分层、画出各个组件的关系。
软件框架是指在特定的领域内、已经有人写好的框架(有代码)、框架有局限性、只限特定领域。
设计模式是指针对一些编程实际的问题所提出的抽象解决方案、用类与类之间的关系相互作用、达到目的。

推荐

此文来自我的电子书,欢迎关注:PHPer架构师
以及最近做的一个小程序,欢迎体验,提提建议 😈

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

web
本作品采用《CC 协议》,转载必须注明作者和本文链接
是非之外有一座花园,我们会在那里相遇
Martist
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 1

大佬 可否 加个联系方式 wx: lwlNo1 和您学习学习

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!