计算机那点事- 软件构架| 架构模式 | 框架 | 设计模式
框架 Framework
1 - 一种定义认为它是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为框架是可被应用开发者定制的应用骨架
2 - 前者是从应用方面而后者是从目的方面给出的定义。从定义看它涉及到了一堆构件,以及这些构件之间的依赖关系、责任分配和流程控制等
注:框架就是一堆类以及这些类之间的关系构成了框架,是实实在在的代码、软件
软件构架 Software Architecture
1 - 它是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计
2 - 软件架构是一个系统的草图,描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯(在实现阶段这些抽象组件被细化为实际的组件,比如具体某个类或者对象)
注:软件构架是一种指导思想
架构模式(架构风格)Architecture Pattern
1 - 用来描述软件系统里的基本的结构组织或纲要。架构模式提供一些呈先定义好的子系统,指定它们的责任,并给出把它们组织在一起的法则和指南
2 - 从定义上来看它是在指导我们如何组织代码,是一种具有指导意义的思想
注:架构模式是一种如何设计软件的策略思想
设计模式 Design pattern
1 - 是一套被反复使用、多数人知道的、经过分类编目的、代码设计经验的总结
2 - 从定义上看它涉及到了代码级别,侧重于解决实际的现实的问题
注:是一种设计思想
结语
1 - 其实软件这个行业的很多名词都没有特别准确的定义,好多概念是十分抽象和难理解的。比如 MVC 你说它是 Architecture Pattern 还是 Design Pattern 呢 ?个人倾向于前者。我们关心的是只要能够在问题的出现的场景中使用最为合适的技术去解决它就可以
2 - 个人理解
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)