软件开发的架构演变
前面通过四篇文章,把什么是架构,如何做好架构等必要的概念澄清了一下。这些概念对于在各种不同的领域都应该也是有用的,需要读者自行思考,并应用到自己所在的领域中。在这篇文章开始,我们用同样的思考,来看看软件是怎么回事,以及如何运用架构思维,更好的设计和实现软件。冯诺依...
2024-01-10《软件架构模式》分层架构
原文地址 译者:克里斯托刘第一章分层架构最通常的架构模式就是分层架构模式,即所谓的N层架构。这种模式对大部分JAVAEE应用程序来说是标准模式,因此被大部分架构师、软件设计师、开发者广泛知晓。由于分层架构模式和公司里传统的IT沟通以及组织结构非常类似,使得它成为大多数商...
2024-01-10【架构师】软件架构的本质
目前讨论架构实操(术)的文章较多,讨论架构理念(道)的较少,本文基于作者在大型电商系统架构方面的一些实践和思考,和大家聊聊架构理念性的东西,希望能够抛砖引玉,推进大家对架构的认识。什么是道,什么是术?道是事物发展的本质规律,术是事物发展的具体途径。规律只有一个...
2024-01-10《软件架构基础》函数式编程
特点函数作为一等公民$("button").click(function(){ $("li").each(function(){ alert($(this).text()) }); });无副作用函数的副作用指的是函数在调用过程中,除了给出了返回值外,还修改了函数外部的状态,比如,函数在调用过程中,修改了某一个全局状态。函数式编程认为,函数的副用作应该被尽量...
2024-01-10【软件测试】路由器架构简史
在过去的50年里,从少数几台计算机的微型互连发展到拥有数十亿节点的全球网络,我们在发展互联网方面取得了很大的进步。在这个过程中,我们学到了很多关于如何建立网络和连接网络的路由器的知识。而我们走的弯路对于后来的学习者来讲,无疑成为了宝贵的经验和启...
2024-01-10《软件架构基础》软件开发模型
兼顾了快速原型的迭代的特征以及瀑布模型的系统化与严格监控引入风险分析喷泉模型一种以用户需求为动力,以对象为驱动的模型,主要用于描述面向对象的软件开发过程认为软件开发过程自下而上周期的各阶段是*相互迭代和无间隙**的特性喷泉模型不像瀑布模型那样,需要分析活动结束后...
2024-01-10如何成为软件架构师?学习路线图
的确, 当一个人决定在软件开发领域建立职业时, 总会想到一件事–职业生涯将如何发展?未来机会是什么?虽然, 在技术领域投入足够的资金后, 仍有各种有价值的职业机会。在所有这些选择中, 最有意义和最具影响力的特征之一是软件架构师!根据报告, 软件设计师是 近年来最苛刻的工作之一, 并考虑...
2024-01-10《软件架构基础》UML介绍与使用
一个**.**为从左往右布局同理,- 为实现,默认横向布局 两条实线为上下布局成员变量可见性class Book{ -field1 //private #field2 //protected ~field3 //package +field4 //public}组件图组件代表一个可复用的软件模块,提供某种意义的功能集组件是一组类,内聚度很高组件图用于描述组件间的协作关系和...
2024-01-10《软件架构基础》分布式系统与计算
计算容量存储容量分布式模块高度自治,可以使用异构系统每个模块关注自身业务,更适合大型团队开发容错,高可用分布式第一原则不要使用分布式系统##分布式的类型应用的分布式系统模块的分布式 如:数据库业务模块的分布式负载均衡计算的分布式存储的分布式Actor模型...
2024-01-10软件架构分层、分模块具体该怎么做?
目录一、前言二、需求调研和需求分析1. 用例图2. 用例描述(1)添加设备用例描述(2) 删除设备用例描述(3) 控制设备用例描述(4) 规则配置用例描述(5) 规则触发用例描述三、概要设计1. 针对关键用例的用例描述,画出鲁棒图2. 对鲁棒图中的模块进行归类,归纳出子系统四、详细设计...
2024-01-10《软件架构基础》常用的软件架构设计
可见度。各个子系统只能与同一层及其下一层的子系统存在依赖关系。易变性最上层放置随用户需求的改变而改变的元素最底层放置随实施平台的改变而改变的元素中间层放置广泛适用于各种系统和实施环境的元素层数。小型3层,原则不超过10层常见的分层模型客户端-服务器模型三层模型:...
2024-01-10【Java】最常用的4 大软件架构
如果一个软件开发人员,不了解软件架构的演进,会制约技术的选型和开发人员的生存、晋升空间。这里我列举了目前主要的四种软件架构以及他们的优缺点,希望能够帮助软件开发人员拓展知识面。一、单体架构单体架构比较初级,典型的三级架构,前端(Web/手机端)+中间业务逻辑层+数据库层。这是...
2024-01-10前端插件化架构的探索和实践
babel插件、webpack插件、vue-cli插件,为啥这么多的优秀框架都是使用插件系统?插件化架构是什么?带来了什么好处?可以应用到什么场景呢?1. 插件化架构定义插件化架构又称微核架构,指的是软件的内核相对较小,主要功能和业务逻辑都通过插件实现。插件化架构一般有两个核心的概念:内核和插...
2024-01-10软件架构之前后端分离与前端模块化发展史
在现行的软件架构中,前端和后端是分离的,即前端只专注于页面渲染,而后台专注于业务逻辑,前端和后端是两个不同的工种,而前后端交互最常见的方式就是通过接口。前后端分离架构在正式说明前后台架构分离之前,我们来看一下多年之前,传统软件开发的架构模式。为什么要前后端分离还记...
2024-01-10从封装数据变化的正确认识软件架构——主动创建
封装变化之对象创建在对象创建的过程中,经常会出现的一个问题就是通过显示地指定一个类来创建对象,从而导致紧耦合。这是因为创建对象时指定类名将使你受特定实现的约束而不是特定接口的约束。这会使未来的变化更加复杂。要避免这种情况,就应该间接地创建对象。这种紧耦合的问题很大...
2024-01-10从封装数据变化的正确认识软件架构——主动创建
封装变化之对象创建在对象创建的过程中,经常会出现的一个问题就是通过显示地指定一个类来创建对象,从而导致紧耦合。这是因为创建对象时指定类名将使你受特定实现的约束而不是特定接口的约束。这会使未来的变化更加复杂。要避免这种情况,就应该间接地创建对象。这种紧耦合的问题很大...
2024-01-10从封装数据变化的正确认识软件架构——驱动程式结对
什么是设计模式 要了解设计模式,首先得清楚什么是模式。什么是模式?模式即解决一类问题的方法论,简单得来说,就是将解决某类问题的方法归纳总结到理论高度,就形成了模式。 设计模式就是将代码设计经验归纳总结到理论高度而形成的。其目的就在于:1)可重用代码,2)让代码更容...
2024-01-10从封装数据变化的正确认识软件架构——串口通信协议
封装变化之接口隔离在组件的构建过程当中,某些接口之间直接的依赖常常会带来很多问题、甚至根本无法实现。采用添加一层间接(稳定)的接口,来隔离本来互相紧密关联的接口是一种常见的解决方案。这里的接口隔离不同于接口隔离原则,接口隔离原则是对接口职责隔离,也就是尽量减少接口...
2024-01-10T24银行核心业务系统:软件架构T24系统演进总结
前言T24产品简介T24 core bank system是瑞士TEMENOS公司银行核心系统产品,可为银行提供各种业务服务。包括核心和业务两大内容,核心系统用于支持账户、会计、清算、总账、客户等银行基础服务;业务系统包含货币市场、贸易融资、金融市场、银团贷款、转帐汇款、保函/保理、信用证等功能。软件架...
2024-01-10视图与逻辑分离之道GetArch软件架构设计
本文就是 序篇 中的彩蛋, "???? 猜一猜复杂的业务逻辑应该怎么处理", 快来了解一下吧????了解 GetArch❓ 为什么做GetArchGetArch源于一颗热爱编程的 ????Flutter 状态管理五花八门, 各种"快速开发模板"也悄然流行起来,但是Dart软件架构却很少有人研究.我认为这可能与目前国内软件普遍采用前后端分离设计...
2024-01-10caxa软件如何画结构简图
caxa软件能够为用户绘制各种不同的设计图,对视图进行各种数据的标识,方便用户更好的看懂,那么我们该怎么去画结构物呢,下面小编今天为大家带来了caxa软件如何画结构简图教程,有兴趣的小伙伴不妨快来下载吧! caxa软件如何画结构简图: 1、我们首先打开caxa软件,选择任意图纸,这里我...
2024-01-10大咖们如何评判优秀架构师?
成为一名优秀的架构师是很多开发者的梦想,但对很多人来说却欠缺一条可供参考的实现路径。「云+社区沙龙online」邀请到腾讯云云服务器副总经理李力、贝壳金服小微企业生态CTO&腾讯云最具价值专家(TVP)史海峰、奈学教育科技创始人&CEO&腾讯云最具价值专家(TVP)孙玄三位大咖,针对架构技术,...
2024-01-10