当前位置:首页 > 软件设计 > 正文内容

吊打面试官!从多维度了解架构

邻居的猫1个月前 (12-09)软件设计1808

大家好,我是汤师爷~

在作业傍边,咱们常常会听到以下说法:

  • 产品负责人说,现在的事务架构太杂乱,需求细心整理下。
  • 技能领导说,这个项目很杂乱,需求做下体系架构计划评定。
  • 研制司理说,这次秒杀活动访问量十分大,需求用到高并发架构计划。
  • 一线研制说,互联网大厂都会用到微服务架构,我要学学微服务架构规划。

上面说到的架构到底是指什么?这些说法究竟是对仍是错?

其实上面的说法都是对的,仅仅选用的视角不一样。

杂乱体系触及多方利益相关者,如客户、产品司理、研制、出售、运营和办理层等。因为布景和认知差异,每个人看待体系的视点和办法都不尽相同。

为操控杂乱度,咱们为不同人物规划特定的架构描绘物。经过分类和界说,让每种架构描绘都有其侧要点,让每个利益相关者能快速获取他们最关怀的信息。

要完成这一方针,咱们首要需求了解"视角"和"视图"这两个要害概念。

架构视角

什么是视角?大白话便是你站在什么地方看。

咱们以城市体系为例,你站在城市的某条马路上,能看到什么?

能看到几座高楼,几排树木,几条大马路,人山人海的行人。

可是你坐在飞机上看,能看到什么?

能看到一片片的楼盘,能看到群山,能看到江河湖海。所以,你能看到什么,和你站在什么地方看有很大联系,一起也会影响你看待事物的粒度。

假如把视角比作一个坐标点,那它需求一套坐标系,坐标系一般有4个维度:广度、深度、视图类型、时刻。

广度是指看待事物的宽度,以事务流程为例,依据起点不同,有时需求看一个部分内的流程,有时需求看多个部分的协作流程,有时需求看端到端跨部分流程。

深度是指看待事物时,要抵达哪个细节层次,例如看事务流程,需求看到安排级、部分级、仍是某个岗位的具体操作过程。看软件体系,需求看到体系级、运用级、模块级、仍是一行行的代码。

广度和深度一般是彼此影响的,假如看待事物的广度越宽,那么层次就会越笼统,这和安排架构的规划也是相得益彰的,一般高层办理者看问题十分全面,但对细节不重视,一线履行人员,对问题的细节十分了解,但视角却十分窄。

时刻维度比较好了解,便是看待事物的时刻点,曩昔、现在、仍是未来。

视图类型是为利益关连人量身打造的一组重视点的调集,接下来会具体介绍。

架构视图

什么是视图?大白话便是你想看到什么。

视图是为利益关连人量身打造的一组重视点的调集。

相同以城市体系为例,想要趁早顶峰的上班族,他的重视点是哪条道路上班最快,因而他需求一副公交地铁道路图。

想要租房的租客,他的重视点是公司邻近有哪些小区,租金多少,因而他需求一副公司邻近的小区地图。

想要疏通下水道的工人,他的重视点是下水道是怎样排布的,因而他需求一副下水道的排布图。

同一个城市体系,不同人物的重视点是彻底不一样的,想要获取的信息也是彻底不一样,假如把一切信息杂糅在一起,不做视图阻隔,导致的成果便是信息太杂乱,每个人都很难获取想要的信息。

同理,不同关连人看待软件体系的重视点也是截然不同的,为了把不同人的重视点区分隔,诞生了许多软件视图的分类办法,比较闻名的有“4+1”视图,TOGAF的事务架构、运用架构、数据架构、技能架构等视图分类法。

TOGAF的4种架构视图

1996年,克林格.科恩法案公布,美国联邦政府立法,强制要求政府安排运用企业架构理论构建自己的IT体系,最重要的安排是国防部、财政部,这一行动,直接让政府安排的数字化水平,以火箭般的速度飞速开展。

同一时刻,大名鼎鼎的TOGAF也在快速开展,它很多参阅了政府安排的企业架构理论,沉积出一套愈加通用的企业架构办法论。

现在80%的福布斯排行榜前50名的企业,以及60%的美国500强企业,都在运用TOGAF理论改进本身的IT架构。

咱们要点说下TOGAF的4种视图类型:事务架构,运用架构,数据架构,技能架构。

它们是企业架构中的四个首要部分,它们重视的方面和功用不同,但彼此相关和支撑,一起构成了企业的全体架构。

一个明晰的企业架构能够保证事务流程顺利、信息体系合理支撑、构建过程有序。企业架构是项目决议计划的重要依据,也是企业未来开展的根底。

  • 事务架构界说了为完成企业的事务战略,企业将本身事务结构化表达为全面的、多维度的笼统模型,包括商业模式、价值流、事务才能、事务流程、安排架构,以及它们与战略、产品、战略、项目履行、利益关连人之间的联系。
  • 运用架构界说了企业中的运用体系的结构和行为,这些体系之间的联系,以及它们怎么与事务流程对接。
  • 数据架构界说了企业怎么搜集、存储、办理和运用数据,触及到数据模型、数据办理、数据集成和办理的规划和施行。
  • 技能架构界说IT根底设备和技能组件的结构,经过它们能够支撑起企业对事务、数据、运用服务的需求,它们包括但不限于硬件、可布置的软件包、网络、技能中间件、通讯设备、运算设备等。

经过视图与视角,咱们能够别离重视点,将杂乱问题进行拆解,让每个部分的杂乱度操控在一个能够承受的规模。一起,团队有了共同的架构认知坐标系,进一步促成了事务标准化,经过别离不变点与改变点,提炼出可复用的事务组件,快速呼应事务需求改变。

架构视图的中心概念

每种架构视图都包括一系列中心概念,经过这些概念能够层层分析整个事务体系,体系化地了解和办理全体架构,保证各个层面的和谐与共同。

  • 事务架构:商业模式,价值流,事务才能,事务流程,安排架构。
  • 运用架构:运用服务,运用结构,运用交互。
  • 数据架构:数据模型,数据库技能。
  • 技能架构:软件布置,技能组件、根底设备。

本文已收录于,我的技能网站:tangshiye.cn 里边有,算法Leetcode详解,面试八股文、BAT面试真题、简历模版、架构规划,等经历共享。

扫描二维码推送至手机访问。

版权声明:本文由51Blog发布,如需转载请注明出处。

本文链接:https://www.51blog.vip/?id=306

分享给朋友:

“吊打面试官!从多维度了解架构” 的相关文章

面向对象编程语言有哪些, 面向对象编程语言概述

面向对象编程语言有哪些, 面向对象编程语言概述

1. Java:Java 是一种广泛使用的面向对象编程语言,特别是在企业级应用中。它具有跨平台性,一次编写,到处运行。2. C :C 是一种高效且灵活的编程语言,支持面向对象编程,同时也支持过程式编程。它常用于系统级和性能敏感的应用。3. C:C 是微软开发的一种面向对象编程语言,主要用于.N...

python面向对象编程,深入浅出Python面向对象编程

面向对象编程(OOP)是一种编程范式,它将数据(属性)和行为(方法)封装在对象中,通过类来创建和管理这些对象。在Python中,OOP是语言的核心特性之一,它使得代码更加模块化、可重用和易于维护。下面是Python面向对象编程的一些基本概念:1. 类(Class):类是创建对象的蓝图,它定义了对象的...

微服务设计模式

微服务设计模式是一种软件开发方法,它将一个大型的应用程序拆分成多个独立的服务。每个服务都在自己的进程中运行,并与轻量级通信机制(通常是 HTTP 资源 API)进行通信。这些服务围绕业务功能构建,并且可以由全自动部署机制独立部署。这些服务可以使用不同的编程语言和数据存储技术,并保持最低限度的集中式式...

软件设计报告模板

以下是一个软件设计报告的模板,您可以根据实际需求进行修改和补充:软件设计报告一、项目背景1. 项目概述2. 项目目标3. 项目范围二、需求分析1. 功能需求2. 性能需求3. 用户界面需求4. 数据需求5. 安全性需求三、系统架构设计1. 系统架构图2. 架构设计原则3. 技术选型4. 模块划分四、...

云架构设计,构建高效、安全、可扩展的云计算环境

云架构设计是指将云计算技术应用于企业或组织的IT基础设施中,以实现更高的灵活性、可扩展性和成本效益。云架构设计通常包括以下几个关键方面:1. 需求分析:首先需要了解企业的业务需求、性能要求、安全要求等,以确定云架构的目标和范围。2. 选择云服务模型:根据企业的需求,选择合适的云服务模型,如IaaS(...

服装设计工作室的运营模式,服装设计工作室的运营模式解析

服装设计工作室的运营模式,服装设计工作室的运营模式解析

服装设计工作室的运营模式可以多样化,但通常包括以下几个关键要素:1. 设计与创新:服装设计工作室的核心是设计师的创意和设计能力。设计师需要不断关注时尚趋势,结合市场需求和客户反馈,创作出独特、吸引人的服装设计。2. 市场调研:了解目标客户群体的需求和偏好,进行市场调研,帮助设计师更好地把握市场动态,...