品《软件架构设计》(一)

架构师·软件架构设计·ADD 文章目录一、名词定义二、为什么需要软件架构设计三、架构师的意义四、架构设计4.1、通用设计4.2、软件架构的设计4.2.1、架构设计(系统全景图)4.2.2、元素交互设计(业务流程设计)4.2.3、元素内部设计(详细系统设计)4.2.4、场景(系统扩展范围)4.2.5、参考架构4.2.6、架构的设计模式4.2.6.1、分层架构-结构化架构描述4.2.6.2、分层架构- 面向模式的软件架构4.2.6.3、部署模式-应用架构4.2.6.4、架构的设计策略4.2.6.5、外部依赖组件4.2.6.6、架构设计过程 阅读详情

      读温昱的<<(软件架构设计)从程序员到架构师>>,别有一番品位。从我个人学习到第九章节而言,收获坡多。
     什么是架构?何为架构?架构师为谁架构?中国的软件设计人才似乎不多。哦,当我第一次听说有“软件架构师”这一职业时,可真是充满了迷茫啊。立即就想解饱一下,可惜当时才疏学浅,深知自己没有那份能力,此事也就一时的搁浅了下来,现在来看,绝对是个错误。在我国多年的教育制度中,我养成了一种我自己认为的坏习惯,凡事不敢直接尝试,在现在这个快速发展的时代来看,这绝对不是个优良的习惯,凭着试一试的心态,接触了此书。
     我们一般喜欢自底向上,先微部,后局部,再总部。个人怀疑跟我国的教育制度有直接的关系。而如今,我就要破一破这个规矩,自顶向下。今天我就来做个前些日子学习软件架构的总结。 

      此书中,我个人喜欢第一章,第二章。理论与实际相结合,边读边欣赏,边学习,真是爽啊。看的爽,学的爽。用一些很平淡的话,很好的描述了什么是架构。相对于那些死板的教科书的定义而言,作者给出的解释则更符合我们的口味。看着不枯燥,越看越入迷,当然,吸收的也快。什么是架构,书中提到了我认为很重要的一句话:提供策略与限制。简简单单的一句话中可见有更深沉的含义,我到认为,我们应该在加入一些自己个性的东西,工作环境的因素,我们是否可以给公司老总一些建议?给老板一些限制呢?当然,这里的限制只是给老板一个参考而已,在读书的我,深知工作的艰辛,但是,我们是否可以在更好的一个环境里来工作?而不像我国一些公司里所采用的“封闭式开发方法”?这里我到要提提软件工程了,在我们找到了一个好方法的同时,我们是否应该更加合理的应用来减轻负担,而不是加重负担呢?可见,我们把方法当作科学来使用的时候,的确遇到了不少的“负担”。言归正传,限制我想不单单制得技术上的限制吧?而策略着?一条策略貌似不能解决一切的问题,我个人认为需要提供几个策略,而这些策略是有一定价值的,适合于开发环境的,技术保障的。当一条路堵死时,我们到不一定非要把技术攻关专家请来,貌似前期投入一些成本,可是按长期成本来计算,我们是否有回报呢?啊,我到突然开朗起来,原来书中自有黄金屋指的是这些?
      定义是不会变的,可是我们的时代在变,感谢这些伟大的作者在给我们提供精华之时,也应该抱着可疑的眼光去思考,我到认为,这样才会更有价值。Think book,而不要死板的read book。博文记录人身,博文记录生活。


原创作品,请勿已任何理由转载,请请您!欢迎大家给以更好的建议。

 

软件架构之设计模式概述 在 20 世纪 70 年代,Christopher Alexander 提出了城市建筑的模式,他认为:模式就是描述一个不断发生的问题和该问题的解决方案。随后,Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 写了一本著名的参考书《设计模式:可复用面向对象软件的基础》。后人也因为这本书称这四个人为四人组,将这本书中描述的模式称为 GoF(Gang of Four)设计模式。 阅读详情

相关推荐

软件架构之架构设计与评估

即每个模块都构成自己的小领域(专门知识或专门技术),并与其他模块的接口清晰,这样,不同的模块分到不同的开发小组中,就能减少各开发小组之间的沟通成本,而在各开发小组内部,由于是处理小领域的问题,容易建立起有效的沟通机制,如成员有这个小领域的背景。修剪这棵树,保留重要场景(不超过 50 个),再对场景按重要性给定优先级(用 H/M/L 的形式),再按场景实现的难易度来确定优先级(用 H/M/L 的形式),这样对所选定的每个场景就有一个优先级对(重要度,难易度),如(H,L)表示该场景重要且易实现。

恒二哥的博客 1226

《软件架构设计》学习笔记--1--阅读感悟

《软件架构设计》学习笔记–1–阅读感悟 最大的感受有两个: 第一是,思维方式的变革。 第二是,分类方法的运用。

aflyeaglenku的博客(QQ1010316426) 5180

架构设计指南架构设计指南

软件 架构 设计 指南软件 架构 设计 指南

《软件架构设计》读后感

Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <!-- /* Font

xu_zh_h的专栏 1389

安全架构设计方法指南.pptx

华为出品-安全架构设计方法指南,讲解安全架构设计的来源、软件系统架构与安全架构的定义,常见的系统架构表现形式,安全架构视图,安全架构设计的基本步骤和参考,基于八维度设计框架的安全架构设计方法,维度安全架构设计框架,华为安全架构设计方法流程示意图,安全架构设计方法支撑能力,安全架构设计原则,架构级安全威胁分析,安全架构设计的知识库,安全方案设计的抽象模型,安全方案设计的优秀实践等

大型集团企业IT信息化安全架构规划设计方案.pptx

大型集团企业IT信息化安全架构规划设计方案

网络安全技术架构/网络安全架构设计和网络安全设备的部署.pptx_零开始网络安全教学

网络安全架构设计和网络安全设备的部署,合理分域,准确定级,信息系统等级保护以系统所处理信息的最高重要程度来确定安全等级在合理划分安全域边界安全可控的情况下

程序员三九的博客 686

自建邮局服务器| 批量邮件群发系统PowerMTA+oem(mumara,mailwizz, interspire)

世界顶级自建邮局服务器PowerMTA+oem(mumara,mailwizz, interspire) PowerMTA4.5(最好用的 群发邮件软件)是用于大批量多ip开发的邮件传递邮寄。可按每小时发送数近百万条电子邮件,发送IP地址和域可以详细配置,加上目前流行前端oem,mumara,mailwizz, interspire等,可定时发送,定时重复发送,实现全自动化 邮件群发 方案。 官网(powermta4.5下载) https://www.sparkpost.com/powermta/ 使用Po

ytrsexpo的博客 6503

软件架构设计---软件架构概述

像学写文章一样,在学会字、词、句之后,就应上升到段落,就应追求文章的“布局谋篇”,这就是架构。通俗地讲,软件架构设计就是软件系统的“布局谋篇”。 人们在软件工程实践中,逐步认识到了软件架构的重要性,从而开辟了一个崭新的研究领域。软件架构的研究内容主要涉及软件架构描述、软件架构设计、软件架构风格、软件架构评价和软件架构的形成方法等。 软件设计人员学习软件架构知识旨在站在...

hu19930613的博客 6万+

【Bug—eNSP】华为eNsp路由器设备启动一直是0解决方案!

软件,添加AR设备时启动异常,最开始错误代码是40,最后通过重新安装,又出现了新的问题,启动AR设备一直是0,而且界面卡住。打开控制面板→网络和Internet→网络和共享中心→更改适配器设置,然后再按以下步骤一次操作。重新打开eNsp,然后选择注册设备,注册成功后重新启动一下,这个时候AR设备就可以正常启动啦。打开eNsp→菜单→工具→选项→服务器设置,写入刚刚写的IP地址就可以了。打开VirtualBox,将左侧的文件全部删除(点击删除所有文件)

享你所想 3417

win10下面安装MTK USB VCOM 驱动

win10下面安装MTK USB VCOM 驱动1.概述2.驱动准备3.主要步骤3.1禁用win10对没有签名驱动限制3.2通过设备管理器安装mtk usb vcom驱动3.3工具版本问题4.禁用win10对没有签名的驱动限制4.1在设置中打开 更新和安全4.2进入恢复4.3在高级启动中点击立即重新启动4.4电脑重启后的几个动作5.通过设备管理器安装MTK USB VCOM 驱动5.1准备驱动5....

qimi123456的专栏 3万+

软件架构设计(一)——软件架构风格

一、软件架构概念 二、软件架构建模概念 三、软件架构的风格 1.数据流风 (1)管道—过滤器 (2)批处理序列 2. 调用/返回风格 3.独立构件风格 (1).进程通信 和 事件驱动系统(隐式调用) 4.虚拟机风格 5.仓库风格 (1).数据库系统 (2).黑板系统 3.超文本系统 6.闭环控制架构(过程控制) 7.C2风格 8.客户/服务器(C/S)风格 9.浏览器/服务器(B/S)风格

superSmart_Dong的博客 4058

PID算法(位置式pid算法和增量式pid算法)

PID 算法是闭环控制系统中常用的算法,PID 分别是 Proportion(比例)、Integral(积分)、Differential(微分)的首字母缩写。它是一种结合比例、积分和微分三个环节于一体的闭环控。

m0_57678852的博客 2万+

软件架构设计

系统设计是业务处理设计,而架构设计是设计一个机制和方案,让业务处理能够实现和落地。 架构设计填补了用户需求和系统设计之间的鸿沟。

左直拳的马桶_日用桶 1万+

ThinkPad X230魔改指南:从博通网卡驱动到1080P屏显全攻略(附Sonoma避坑清单)

本文详细介绍了ThinkPad X230的全面改造方案,包括博通网卡驱动(BCM94352HMB)的安装与调试、1080P屏幕改装技术以及macOS Sonoma系统的适配优化。通过硬件升级和软件调优,使这台经典商务本焕发新生,适合DIY爱好者和技术极客参考实践。

weixin_30379531的博客 586

自动化专业与嵌入式

在学生时期,我是一个典型的学渣,所以只能选择电气工程、汽修、数控之类的专业。而那些高分的则可以选择计算机,电子商务,通信之类的。这些专业看起来像是蓝领和白领的分界,至今我都觉得这种制度是不人性化的。专业这块根据学生的爱好去选择是最好的,毕竟有兴趣才会”真心”去学习。谁说学渣就学不会编程、学不会金融对吧?不过也罢,在学校能学到东西的毕竟是少数,最近有些大学生发了他们的课程表给我看了下。我感觉学的太广了,什么单片机、c语言、java之类的,导致很多学生学完以后还是很迷茫,不知道自己专业到底是从事什么方向的。所以

m0_71017841的博客 3588

《软件架构设计》一书目录

第一部分  软件架构概念与思想篇 1第1章  解析软件架构概念 31.1  软件架构概念的分类 31.1.1  组成派 41.1.2  决策派 51.2  软件架构概念大观 51.2.1  Booch、Rumbaugh和Jacobson的定义 51.2.2  Woods的观点 61.2.3  Garlan和Shaw的定义 61.2.4  Perry和Wolf的定义 61.2.5  Boehm的定义

温昱著译评 6653

手把手教你用MaxEnt+ArcGIS玩转物种分布预测

本文详细介绍了如何利用MaxEnt最大熵模型与ArcGIS软件进行物种分布预测。通过实战案例,从数据收集、环境变量处理、模型参数设置到结果可视化分析,手把手教你掌握生态位模型的核心流程。结合SDM toolbox插件,可高效完成数据预处理与高级空间分析,是生态学与保护生物学研究的实用指南。

weixin_29309475的博客 560

软件架构设计之七:软件架构设计

一、本章要点 1)信息系统综合知识。包括软件架构的概念、软件架构的风格、特定领域软件架构、基于架构的软件开发方法、软件架构评估、软件产品线;设计模式的概念、设计模式的组成、模式和软件架构、设计模式分类、设计模式的实现。 2)系统架构设计案例分析。包括软件架构技术、XML技术、基于架构的软件开发过程、架构模型(风格)、特定领域软件架构、基于架构的软件开发方法、架构评估、软件产品线、系统演化、设计

波粒二象性的专栏 5380

基于docker进行安装部署seata,解决Seata的版本与Nacos的版本不匹配

本文分享了在Docker环境下部署Seata时遇到Nacos 3.x API不兼容问题的解决方案。由于Seata 2.0.0内置的nacos-client 1.4.2无法调用Nacos 3.x重构后的接口,导致注册失败。通过下载Seata 2.6.0源码自行构建Docker镜像,并调整启动方式(直接执行Java命令绕过Shell脚本),最终成功实现与Nacos 3.x的集成。关键步骤包括:创建自定义Dockerfile、配置application.yml、处理启动脚本兼容性问题,最终采用java直接运行方案

Dd52698的博客 407

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

深入解析18种软件架构设计模式 (1)

软件架构是指软件系统的高级结构,定义了系统中不同组件和模块之间的交互方式。它涵盖了各种设计决策和模式,这些决定塑造了系统的整体行为、性能、可扩展性和可维护性。软件架构是定义软件系统高级结构和组织的过程。它包括识别并选择合适的组件,决定它们如何相互作用,并确定它们应如何组织以实现特定目标。软件架构的目标是创建一个可维护、可扩展、安全的系统,满足用户和组织的需求。

TechLead 2020

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

架构-软件架构设计

通俗理解:软件架构是软件系统的“骨架”,定义了系统的结构、行为和属性,就像盖房子的设计图纸,规划了房间布局、承重结构和功能分区。核心作用沟通桥梁:让技术人员(如程序员)和非技术人员(如产品经理)能理解系统设计,比如用“用户模块”“数据存储模块”描述系统组成。质量预测:通过架构设计可提前判断系统是否能满足性能、安全等需求,例如分层架构能提升可维护性。方便迭代:清晰的架构让修改局部功能更简单,比如更换数据库时只需调整数据层接口。重点架构设计本质是“需求分配”

1536

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

详谈软件架构设计(一)之软件架构的概念以及风格-上

题外话:本篇博客讲的是软件架构设计中的软件架构概念以及软件架构风格。由于软件架构风格包含的内容太多,在本篇博客中只讲一部分的架构风格,其余的放到下一篇博客中继续阐述。 一:软件架构的概念 1、软件架构的概念 软件架构是需求分析和软件测试的桥梁,它把用户的需求转换为项目中具体的软件设计,是开发软件中必不可少的一个环节。 软件架构为软件系统提供了一个结构、行为和属性的高级抽象......

华星详谈的博客 4396
上一篇: 读四人组的设计模式是一种释怀
下一篇: 基础JSP学习笔记
NationSoftware
博客等级 码龄18年 2粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值