百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

架构系列2:我又想了15年才理解架构与框架的区别

yuyutoo 2024-10-27 16:58 1 浏览 0 评论

架构和框架到底是指的是什么?我们做架构的时候或者谈论架构的时候,经常会有被一些词汇混淆。

例如:

  1. 系统和子系统有什么区别?
  2. windows架构和linux架构有什么区别?
  3. kafka的架构是什么?
  4. redis的架构是什么?
  5. 数据库要不要考虑分库分表设计?
  6. 模块与子模块之间有什么关系?

这些概念都经常出现在我们的工作中,但是并不是每一个人都确切的理解这些概念。我们将花一些时间来讲解一下这些概念。

首先第1个概念什么是框架,什么是架构?框架与架构这两个概念是非常类似的。在实际工作中很容易被混淆。我们先来看一下架构的概念。

框架是指软件的基础结构。从概念上来讲,软件框架更注重的是结构。这个和建筑中的框架有异曲同工之处。建筑最开始讲究的是框架,只要框架结构稳定了,那么建筑也就稳定了。映射到软件框架上来说,只要软件框架稳定了,那么这个程序很大部分程度上就是稳定的。

框架也指实现一个软件的软件组成规范。他强调组成部分必须按照预定的规范来搭建。从这个概念上我们可以发现框架更重视组成这个框架的规范。

它规定了程序员应该在什么位置,写什么样的代码。例如我们所说的mvc框架。就定义了模型视图,控制层分别写在哪里?程序员不会将视图的代码写到模型当中。也不会将模型的代码写到控制层中。这就是框架的规范所起的重要的作用。

与框架不同的是,软件架构更像是一个系统的草图它描述了系统以及子系统之间的相互关系。不是用来规定代码应该怎么写,写在那个包下的。架构是指导系统与子系统、模块与组件怎么协同工作,怎么交互,从而形成软件的。

架构及框架的区别,其实从上面的描述中,我们已经能够比较清晰的理解架构和框架的区别了。架构更重要的是知道如何设计,框架指导程序员如何进行开发。从这个角度上来说,框架最终可以形成软件。因为把代码填到框架里面就变成了软件。而架构不能直接变成软件,它必须通过某种框架去实现这个架构,才能变成软件。所框架更接地气,架构更偏上层。

好了,我们后面还会对架构和框架进一步说明,那时候会结合实例来说明。

相关推荐

MySQL5.5+配置主从同步并结合ThinkPHP5设置分布式数据库

前言:本文章是在同处局域网内的两台windows电脑,且MySQL是5.5以上版本下进行的一主多从同步配置,并且使用的是集成环境工具PHPStudy为例。最后就是ThinkPHP5的分布式的连接,读写...

thinkphp5多语言怎么切换(thinkphp5.1视频教程)

thinkphp5多语言进行切换的步骤:第一步,在配置文件中开启多语言配置。第二步,创建多语言目录。相关推荐:《ThinkPHP教程》第三步,编写语言包。视图代码:控制器代码:效果如下:以上就是thi...

基于 ThinkPHP5 + Bootstrap 的后台开发框架 FastAdmin

FastAdmin是一款基于ThinkPHP5+Bootstrap的极速后台开发框架。主要特性基于Auth验证的权限管理系统支持无限级父子级权限继承,父级的管理员可任意增删改子级管理员及权限设置支持单...

Thinkphp5.0 框架实现控制器向视图view赋值及视图view取值操作示

本文实例讲述了Thinkphp5.0框架实现控制器向视图view赋值及视图view取值操作。分享给大家供大家参考,具体如下:Thinkphp5.0控制器向视图view的赋值方式一(使用fetch()方...

thinkphp5实现简单评论回复功能(php评论回复功能源码下载)

由于之前写评论回复都是使用第三方插件:畅言所以也就没什么动手,现在证号在开发一个小的项目,所以就自己动手写评论回复,没写过还真不知道评论回复功能听着简单,但仔细研究起来却无法自拔,由于用户量少,所以...

ThinkPHP框架——实现定时任务,定时更新、清理数据

大家好,我是小蜗牛,今天给大家分享一下,如何用ThinkPHP5.1.*版本实现定时任务,例如凌晨12点更新数据、每隔10秒检测过期会员、每隔几分钟发送请求保证ip的活性等本次分享,主要用到一个名为E...

BeyongCms系统基于ThinkPHP5.1框架的轻量级内容管理系统

BeyongCms内容管理系统(简称BeyongCms)BeyongCms系统基于ThinkPHP5.1框架的轻量级内容管理系统,适用于企业Cms,个人站长等,针对移动App、小程序优化;提供完善简...

YimaoAdminv3企业建站系统,使用 thinkphp5.1.27 + mysql 开发

介绍YimaoAdminv3.0.0企业建站系统,使用thinkphp5.1.27+mysql开发。php要求5.6以上版本,推荐使用5.6,7.0,7.1,扩展(curl,...

ThinkAdmin-V5开发笔记(thinkpad做开发)

前言为了快速开发一款小程序管理后台,在众多的php开源后台中,最终选择了基于thinkphp5的,轻量级的thinkadmin系统,进行二次开发。该系统支持php7。文档地址ThinkAdmin-V5...

thinkphp5.0.9预处理导致的sql注入复现与详细分析

复现先搭建thinkphp5.0.9环境...

thinkphp5出现500错误怎么办(thinkphp页面错误)

thinkphp5出现500错误,如下图所示:相关推荐:《ThinkPHP教程》require():open_basedirrestrictionineffect.File(/home/ww...

Thinkphp5.0极速搭建restful风格接口层

下面是基于ThinkPHPV5.0RC4框架,以restful风格完成的新闻查询(get)、新闻增加(post)、新闻修改(put)、新闻删除(delete)等server接口层。1、下载Thin...

基于ThinkPHP5.1.34 LTS开发的快速开发框架DolphinPHP

DophinPHP(海豚PHP)是一个基于ThinkPHP5.1.34LTS开发的一套开源PHP快速开发框架,DophinPHP秉承极简、极速、极致的开发理念,为开发集成了基于数据-角色的权限管理机...

ThinkPHP5.*远程代码执行高危漏洞手工与升级修复解决方法

漏洞描述由于ThinkPHP5框架对控制器名没有进行足够的安全检测,导致在没有开启强制路由的情况下,黑客构造特定的请求,可直接GetWebShell。漏洞评级严重影响版本ThinkPHP5.0系列...

Thinkphp5代码执行学习(thinkphp 教程)

Thinkphp5代码执行学习缓存类RCE版本5.0.0<=ThinkPHP5<=5.0.10Tp框架搭建环境搭建测试payload...

取消回复欢迎 发表评论: