当前位置: 首页 > news >正文

网站制作自己做wordpress 嵌入pdf

网站制作自己做,wordpress 嵌入pdf,梁志天设计公司简介,做包装设计的网站本文是《从零开始学架构》的第一篇学习笔记,主要理解架构的设计的本质定义、历史背景以及目的。 架构设计的本质 分别从三组概念的区别来理解架构设计。 系统与子系统 什么是系统,系统泛指由一群有关联的个体组成,根据某种规则运作&#…

本文是《从零开始学架构》的第一篇学习笔记,主要理解架构的设计的本质定义、历史背景以及目的。

架构设计的本质

分别从三组概念的区别来理解架构设计。

系统与子系统

什么是系统,系统泛指由一群有关联的个体组成,根据某种规则运作,能完成个别元件不能单独完成的工作的群体。它的意思是“总体”“整体”或“联盟”

  • 关联:系统是由一群有关联的个体组成的,没有关联的个体堆在一起不能成为一个系统。例如,把一个发动机和一台 PC 放在一起不能称之为一个系统,把发动机、底盘、轮胎、车架组合起来才能成为一台汽车。
  • 规则:系统内的个体需要按照指定的规则运作,而不是单个个体各自为政。规则规定了系统内个体分工和协作的方式。例如,汽车发动机负责产生动力,然后通过变速器和传动轴,将动力输出到车轮上,从而驱动汽车前进。
  • 能力:系统能力与个体能力有本质的差别,系统能力不是个体能力之和,而是产生了新的能力。例如,汽车能够载重前进,而发动机、变速器、传动轴、车轮本身都不具备这样的能力

子系统也是由一群有关联的个体所组成的系统,多半会是更大系统中的一部分
在这里插入图片描述
例如微信本身是一个系统,包含聊天、登录、支付、朋友圈等子系统。朋友圈这个系统又包括动态、评论、点赞等子系统。评论这个系统可能又包括防刷子系统、审核子系统、发布子系统、存储子系统。评论审核子系统不再包含业务意义上的子系统,而是包括各个模块或者组件,这些模块或者组件本身也是另外一个维度上的系统。例如,MySQL、Redis 等是存储系统,但不是业务子系统。

模块与组件

模块和组件都是系统的组成部分,只是从不同的角度拆分系统而已。 划分模块的主要目的是职责分离;划分组件的主要目的是单元复用

  • 业务逻辑的角度来拆分系统后,得到的单元就是模块
  • 物理部署的角度来拆分系统后,得到的单元就是组件

以学生管理系统为例,从业务逻辑的角度分解,有如下模块
在这里插入图片描述
从物理部署的角度分解,有如下组件:
在这里插入图片描述
子系统是独立运行的,模块是子系统的逻辑组成部分,如果学生管理系统规模很大(例如在线学校),需要支撑每秒上万的登录请求,那么学生管理的登录模块可以升级为子系统

框架与架构

软件框架(Software framework)通常指的是为了实现某个业界标准或完成特定基本任务的软件组件规范,也指为了实现某个软件组件规范时,提供规范所要求之基础功能的软件产品

  • 框架是组件规范,例如,MVC 就是一种最常见的开发规范
  • 框架提供基础功能的产品,例如,Spring MVC 是 MVC 的开发框架,除了满足 MVC 的规范,Spring 提供了很多基础功能来帮助我们实现功能,包括注解(@Controller 等)、Spring Security、Spring JPA 等很多基础功能

软件架构指软件系统的“基础结构”,创造这些基础结构的准则,以及对这些结构的描述。
在这里插入图片描述

框架关注的是“规范”,架构关注的是“结构”

4R架构方法

软件架构指软件系统的顶层(Rank)结构,它定义了系统由哪些角色(Role)组成,角色之间的关系(Relation)和运作规则(Rule)
在这里插入图片描述

4R 是指 4 个关键词:Rank,Role,Relation 和 Rule。既然可以通过 4R 来定义软件系统的架构,那么按照 4R 架构定义的思路来画架构图也是很合情合理的,具体步骤如下

  • 第一步,明确 Rank:它是指软件架构是分层的,对应“系统”和“子系统”的分层关系。不要事无巨细地把一个大系统的方方面面都在一张架构图中展现出来,而应该明确你要阐述的系统所属的级别(L0~L4),然后只描述这个级别的架构信息。
  • 第二步,画出 Role:指软件系统包含哪些角色,每个角色都会负责系统的一部分功能。架构设计最重要的工作之一就是将系统拆分为多个角色,角色对应架构图中的区块、图标和节点等。
  • 第三步,画出 Relation:有了角色后,画出角色之间的关系,对应架构图中角色之间的连接线,不同的连接线可以代表不同的关系。
  • 第四步,最后画出 Rule:挑选核心场景,画出系统角色之间如何协作来完成某项具体的业务功能,对应系统序列图。

为了方便理解,Rank、Role 和 Relation 是通过系统架构图来展示的,而 Rule 是通过系统序列图(System Sequence Diagram)来展示的,以支付系统为例,顶层为支付系统,描述其子系统角色及角色之间的关系
在这里插入图片描述
“扫码支付”这个核心场景的系统序列图如下所示:
在这里插入图片描述

软件架构的历史背景

机器语言(太难写、太难读、太难改)-》汇编语言(仍然面向机器)-》高级语言(不再面向机器)-》结构化程序设计【模块】-》面向对象程序设计【对象】-》软件架构【组件】
在这里插入图片描述

软件设计过程中,模块、对象、组件本质上是对一定规模软件在不同粒度和层次上的“拆分”方法论(随着软件的复杂度不断增加,拆分的粒度越来越粗,拆分的层次越来越高),软件架构是一种对软件的“组织”方法论。一分一合,其目的是为了软件研发过程中的成本、进度、质量得到有效控制。一个成功的软件设计是要适应并满足业务需求,同时不断“演化”。设计需要根据业务的变化、技术的发展不断进行“演进”,这就决定了这是一个动态活动,出现新问题,解决新问题,没有所谓的“一招鲜”。

软件架构的目的

不是所有系统都需要架构设计,也不需要每个架构都具备高性能、高可用、高扩展等特点,架构设计的主要目的是为了解决软件系统复杂度带来的问题
在这里插入图片描述

总结一下

Rank分层区分系统与子系统暂时隔离关注面,在一个系统层面上,其子系统就是角色Role,子系统之间的关系就是Relation,一个核心的业务流程Rule可能涉及多个子系统的交互。如果子系统就是最小层级业务系统,那么它从逻辑层面讲可能包含很多模块,从部署的角度讲也包含很多组件,单个子系统可以使用springBoot框架搭建,遵守其规范使用其功能;软件架构没有银弹,是以解决系统复杂度为目的而随业务演进的方法论。知道WHAT,WHY,才能更好的学习HOW。

http://www.sczhlp.com/news/63167/

相关文章:

  • 旅游网站建设前期分析需要外包团队做网站怎么提需求
  • 网站建设年终总结怎么写奢侈品电商网站首页设计
  • 营销网站有多种类型民权做网站的公司
  • 副业做网站软件有哪些可以免费做高数题的网站
  • 网站组织管理建设wordpress算术验证码
  • 岑溪网站建设阿里云wordpress托管
  • 汇中建设 官方网站一级a做爰片_相关网站
  • 马蜂窝网站怎么做网站进入沙盒后
  • 网站建设考试多选题东莞专业网站设计制作公司
  • 怎样做网站制作网站建设注册
  • 企业网站导航设计用adsl做网站备案
  • 网站开发的五个阶段程序员一个月能挣多少钱
  • 网站建设完成大概多久wordpress上传到虚机
  • 诸城网站设计广西崇左市住房和城乡建设局网站
  • 线上商城是什么软件网站推广教程优化整站
  • 专门做悬疑推理小说的阅读网站在线制作logo网站
  • 深圳网站建设公司哪好视觉传达设计就业前景
  • wordpress建网站的优点网络营销之网站建设
  • 宿州企业官方网站建设wordpress500错误
  • 做网站需要跟客户了解什么什么是搜索引擎竞价推广
  • 如何推广我的网站wordpress博客漏洞
  • 建设网站用什么语言公司网站建设哪个好
  • 网站建设推广代理公司公司简介英文翻译
  • 成都网站制作沈阳网站的维护与更新
  • 网站模板定做seo计费系统开发
  • 上海做网站建设的公司小程序定制深圳
  • 个人网站建设的目的做教育网站有什么好处
  • 襄阳网站建设首选公司哪家好wordpress 字数统计
  • 在百度怎么免费制作网站手机平面设计软件app
  • 招聘网站开发视频有文化底蕴的公司名字