架构之美阅读笔记之一

 

       寒假生活开始了,关于软件架构这部分的学习,我选择的是《架构之美》这本书。这本出版于2009年的书,由浅入深地讲述了从架构的概述,到企业级应用架构,系统架构,最终用户应用架构,再到语言与架构模块。

       今天学习的是第一章——架构概述。学习软件架构,首先要明白什么是软件架构。在生活中我们不少接触到架构这个词语。软件架构师一些列相关的抽象模式,用于指导大型软件系统各个方面的设计确保网络或系统在完成后能具有某些属性或行为。涉及到软件架构的一个相应角色就是软件架构师。但是,相对于建筑架构师这类架构师来说,软件架构师的困难之处在于,对于软件系统来说i,从来就不知道那些决定属于架构是的职责范围,哪些决定要留给实现者,主要是由于软件系统的三个特性缺少传统,产品无形性和系统复杂性。软件架构通常表现为分层的层次结构,这种层次结构将几种不同的架构放在一张图中,因此,软件架构是一个系统的草图。

第一章的第二个部分,创建软件架构,主要讲述了如何设计软件架构。这其中有几个要点。首先,软件架构师的首要关注点不是软件的功能。然后是成功架构师的两项关键实践:让利益相关人员参与,同时关注功能和品质。架构师的第一项任务,就是与利益相关人员协作。,理解这些品质关注点和约束,并为他们排列优先级。好的架构师来自于更好的架构师的现场指导。一个好的架构师会认识到,机构会影响组织机构。

第三个部分讲的是架构结构,主要包含信息隐藏结构,使用架构,进程架构,访问架构。第四部分和第五个部分讲的是好的架构和美丽的架构。评估架构有两种常见的方式,确定架构的属性和对架构师提出质询。对于评估的架构,用以上的方法进行评估,是否满足要求,是否足够好,超越足够好等评级,甚至还有软件架构名人堂。

  通过第一章的学习,我简单了解到了软件架构的概念,创建软件架构的一些要点,几种简单常见的架构结构,以及架构的评估,首先打开了自己对于软件架构学习的大门。

转载于:https://www.cnblogs.com/my1204/p/6416109.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/282811.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ntop linux,Linux下开源监控软件Ntop的性能提升方案

摘要:Ntop是一款Linux下常见的开源监控软件,它可以监测的数据包括:网络流量、使用协议、系统负载、端口情况、数据包发送时间等。正常情况下它工作的时候就像一部被动声纳,默默的接收看来自网络的各种信息,通过对这些数…

Java异常处理教程

异常是在没有定义正常执行路径时在Java程序的执行期间可能出现的条件。Java通过将执行操作的代码与处理错误的代码分离来处理错误。 当发生异常时,Java会创建一个包含有关异常的所有信息的对象,并将其传递给相应的异常处理代码。有关异常的信息包括异常的…

性能优化8--内存泄露

一.根源: 内存泄露简单说就是已经没有用的资源,但是由于被其他资源引用着无法被GC销毁。 二.内存泄露常见场景 1.单例导致内存泄露 单例的静态特性使得它的生命周期同应用的生命周期一样长,如果一个对象已经没有用处了,但是单例还…

那些年,登山徒步记录,立贴

2018年1月-9月份暂无数据。(惨无人道,已经丧失了自我。) 10月份2017年2月份02月12日 25.00KM 牛木外线3月份暂无数据。 4月份1.04月09日 16.00KM 火凤线 5月份1.05月06日 20.00KM 渔帽线(第一机耕路) 6月份1.06月11日 …

记一次 .NET 某打印服务 非托管内存泄漏

一:背景 1. 讲故事前段时间有位朋友在微信上找到我,说他的程序出现了内存泄漏,能不能帮他看一下,这个问题还是比较经典的,加上好久没上非托管方面的东西了,这篇就和大家分享一下,话不多说&#…

android静态方法如何测试,android – 如何使用mock()和spy()测试静态方法

通常情况下,如果你最终使用PowerMock,这是一个很好的迹象,表明你最有可能是错误的方式.如果不是直接引用毕加索,而是创建一个组件,它的职责是加载图像,让我们说类ImageLoader.这会给你什么?>关注点分离:如果明天你决定转移到Glide,你不应该改变你使用…

mysql经典的8小时问题-wait_timeout

2019独角兽企业重金招聘Python工程师标准>>> 前段时间 现网突然频繁报出 连接不上数据库,偶滴的妖孽,其他地方都是用mysql,也没遇到这个问题呀。 java.io.EOFExceptionat at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1913…

Chrome DevTools — Network

记录网络请求 默认情况下,只要DevTools在开启状态,DevTools会记录所有的网络请求,当然,记录都是在Network面板展示的。 停止记录网络请求 点击Stop recording network log红色图标,当它变为灰色时,表示DevT…

Blazor University 中文版网站已上线

在学习 Blazor 的过程中,找到了一个网站 Blazor University(https://blazor-university.com)。发现网站内容非常详实,正像首页所说的:通过浏览本网站中的信息,我打算带您从完全的新手到Blazor的所有方面的专…

android:paddingtop 百分比,相对层中的百分比宽度

相对层中的百分比宽度我正在为登录进行表单布局。Activity在我的Android应用程序中。下面的图片是我希望它看起来的样子:我能够通过以下方式实现这个布局XML..问题是,这有点麻烦。我不得不对主机EditText的宽度进行硬编码。具体而言,我必须具…

MySQL 查看表结构简单命令

一、简单描述表结构,字段类型 desc tabl_name; 显示表结构,字段类型,主键,是否为空等属性,但不显示外键。 例如:desc table_name 二、查询表中列的注释信息 select * from information_schema.columns wher…

简单获取任意app的URL Schemes

简单说明 最近业务需要,一直在查询App的scheme相关信息,找到一种比较可靠的方法,分享给大家 步骤如下: 在电脑上使用iTunes下载那个app下载完后,在itunes里点击这个app,选择->Show in Finder&#xff0c…

Java中short、int、long、float、double的取值范围

一、基本数据类型的特点,位数,最大值和最小值。1、基本类型:short 二进制位数:16 包装类:java.lang.Short 最小值:Short.MIN_VALUE-32768 (-2的15此方)最大值:Short.MAX_…

.Net之接口文档精度丢失处理

目的最近两天在给朋友讲解如何使用ajax调用接口时候,我发现我用swagger调用接口返回的long类型的数据最后几位都变成了0(例如:6974150586715898000),本来是以为sqlite数据库不支持long类型导致我存进去的数据出了问题,然后我使用接…

android 访问sqlite,android中访问已有的sqlite数据库

推荐文章每天进步记录一点点话说经常性的操作svn出现各种问题,而度娘一直帮倒忙,是不是很手足无措.有时问题还是要记录下来的.说不定还会有惊喜. 昨天遇到个问题,搜索了一下,发现第一条就是自己写的.惊呆我了,更惊呆我的是,我是在csdn写的,为什么在别的网站看到,完全一模一样..…

Dnslog在SQL注入中的利用

参考文献:www.anquanke.com/post/id/98096https://bbs.pediy.com/thread-223881.htm DNSlog在Web攻击的利用 在某些无法直接利用漏洞获得回显的情况下,但是目标可以发起DNS请求,这个时候就可以通过DNSlog把想获得的数据外带出来。 常用情况 S…

让泛型的思维扎根在脑海——深刻理解泛型

1.前言往往一些刚接触C#编程的初学者,对于泛型的认识就是直接跳到对泛型集合的使用上,虽然微软为我们提供了很多内置的泛型类型,但是如果我们只是片面的了解调用方式,这会导致我们对泛型盲目的使用。至于为什么要使用泛型&#xf…

fgetcsv()函数

fgetcsv()函数。fgetcsv()函数可以读取指定文件的当前行,使用CSV格式解析出字段,并返回一个包含这些字段的数组。语法格式如下:array fgetcsv(resource $handle [, int $length [, string $delimiter [, string $enclosure[,string $escape]]…

android 系统ui修改器,分享两个效果 - Android 系统 UI 管理

SystemUIManage.gifDimming the System Bars (沉浸模式)知乎 和 Medium 中都使用到了这个效果,作为沉浸式阅读模式。// This example uses decor view, but you can use any visible view.View decorView getWindow().getDecorView();int uiOptions View.SYSTEM_U…

打游戏要存进度-备忘录模式

打游戏要存进度-备忘录模式 学习自 《大话设计模式》 备忘录模式漫谈 备忘录的这种设计思想是非常常见的,比如说围棋游戏的悔棋,绘图软件的撤销功能等等,都或多或少的使用了备忘录模式来处理对象的状态。 备忘录(Memento): 在不破坏封装性的前…