《架构之美》阅读笔记05

张晓晨的技术博客 张晓晨的技术博客     2022-08-22     194

关键词:

一、阅读内容
第四部分
第十一章 GNU Emacs滋长的特性是其优势
第十二章 当集市开始构建教堂
二、笔记总结
(1)Emacs的架构
Emacs架构采用的是在交互式应用程序中应用广泛的模型-视图-控制器模式。在这个模式中,模型是程序所操作数据的底层描述,视图则是向用户展示数据的方法,而控制器则负责实现用户与视图的交互,并对模型进行相应的更新。值得注意的是Emacs拥有显著的可滋长的特性。当一个程序拥有越来越多的代码的时候,维护它就需要付出更多的努力。当一个开发人员发现了一个可实现的特性的时候就把实现的代码放在一个文件中,从一个简单的命令开始不断重复这个过程,这使得最后代码文件渐渐成为一组互相协作的命令集,这时我们对这些文件进行包的封装,最后再将这个包纳入到Emacs的发行版本中,使得Emacs得到了扩展。采用了类似的架构的程序比较经典的是eclipse和firefox。
(2)KDE社区里ThreadWeaver和Akonadi项目的发展
在十多年的发展历程中,各种不同的人群都对KDE做出了贡献。KDE项目最初的目标是为开源的UNIX系统提供一个集成的桌面环境,但是实际上KDE的范围是十分广泛的,在编写KDE程序库代码时需要和各种不同的工具链打交道。应对不同平台的特性,以灵活,可扩展的方式整合系统服务,明智、谨慎的使用硬件资源。加上其代码库拥有大量的目标受众,因此提供的API必须是易于理解的、有用的,适用于不同背景的程序员的。在开源程序的开发过程中可能遇到很多挑战,在技术方面由于软件要面对不断增长的数据量,而且数据将变得越来越复杂,个体和组织需要的工作流也是如此。但是更大的挑战是来自社会性和协调性方面的,这个方面的工作量是十分巨大的。Akonadi的核心观念是为系统中所有的PIM数据和相关的元数据建立一个集中的缓存。另外,Akonadi还有一个基础性的视角,那就是用来访问特定类型的存储后端的组件将以单独的进程运行,这样就可以避免服务器中潜在的错误影响到整个系统。ThreadWeaver是KDE4.0中的一个核心程序库,它与Akonadi形成了鲜明的对照。ThreadWeaver是负责并行操作调度,其目标是在多线程软件中管理和分配资源的使用。另外一个目标就是为应用程序开发人员提供一个实现并行机制的工具,与那些在开发GUI应用程序中所使用的方法类似。ThreadWeaver为问题提供了一个备选的方法,当程序库作者以及预期的用户社区开始在其自己的项目中采用它的时候就逐渐进入了成熟期。

架构之美阅读笔记01

   初识架构,什么是架构,架构美在何处?不同领域的设计师对架构的理解大相径庭;软件架构师对一个好的架构的要求诸如对用户友好,响应及时,易维护,没有重大错误,易安装,可靠性高,可通过标准的方式同... 查看详情

《架构之美》阅读笔记01

一、阅读内容第一章架构概述第二章两个系统的故事:现代软件神话二、笔记总结(1)什么是软件架构?其实在好多学科中都用到了“架构”这个词,大都表达了对所创造作品的描述,或者是对创造过程的计划。但是在软件专... 查看详情

《架构之美》阅读笔记四

  今天我阅读了《架构之美》第五章面向资源的架构在web中,这一章讲到现在我们过分强调了软件和服务,而却忽视了数据,现在大多数组织机构更容易在web上找到信息,而不是在他们自己的系统中。web在很大程度上是因为它... 查看详情

《架构之美》阅读笔记02

第二部分(企业级应用架构):      第3章【伸缩性架构设计】:      从本部分开始,本书就开始介绍不同的架构设计。本章介绍的是伸缩型架构设计,使用的是Darkstar项目来举例。Dar... 查看详情

架构之美阅读笔记02

  架构是浪费空间的艺术。需要架构师经过缜密的谋划,精心的布置,才能创造出美的艺术。通过阅读本章中对两个“软件城市”的描述,加深了对架构重要性的认识,了解了一些如何构建出美的构架的方法。  经... 查看详情

架构之美阅读笔记之五

...         今天我学习的是架构之美的第五章——面向资源的架构:在web中。这一章,作者讲述说明了,企业中聚焦信息的架构展示了雨web一样的特点:伸缩性,弹性,架构歉意策略,信息驱动和访... 查看详情

架构之美阅读笔记之三

      今天我学习的是架构之美的第三章——伸缩性架构设计。这一张也是涉及到了第二部分,企业级用用架构。首先我们要引出,伸缩性架构设计,也就是为什么要伸缩性的架构。主要原因是,我们在设计... 查看详情

《架构之美》(阅读笔记1)

架构真的很美!!!什么是架构?浅薄理解,它组件与组件的关系,架构师将其表述出来.深层理解,它由一组结构组成,这些结构的设计目的是让架构师,利益相关者看到他们的关注点是如何得到满足的。美丽架构的核心在于概念完整... 查看详情

《架构之美》阅读笔记二

   架构是系统设计的一部分,它突出了某些细节,并通过抽象省略掉了另一些细节。软件系统的架构包括行为上的和结构上的。外部行为描述展示了软件如何与用户、其他设备和外部设备进行交互,也就是需求。结构... 查看详情

《架构之美》阅读笔记06

一、阅读内容第五部分第十三章软件架构:面向对象与面向函数第十四章重读经典二、笔记总结(1)面向对象与面向函数函数式编程能够更好的实现模块化设计。在面向对象的编程方式出现之后,我们发现面向对象的程序设计... 查看详情

架构之美阅读笔记06

...去访问一个数据仓库。数据推动了用户喜欢的产品,所以架构师围绕数据创建了其余的传统“n层”软件站。Facebook即是一个围绕数据建立架构的例子。“Facebook社会关系网站”在概念上是一个标准的“n层”栈,用户的请求会从Fac... 查看详情

《架构之美》阅读笔记五

   一个好的架构的形成不仅是架构师的功劳,还有团队的集体合作,主要因素:确实进行有意为之的前端设计;设计者有很好的素质和经验;在开发过程中,保持清晰的设计观点;授权团队负责软件的整体设计;不要... 查看详情

架构之美阅读笔记六

   一个好的架构的形成不仅是架构师的功劳,还有团队的集体合作,主要因素:确实进行有意为之的前端设计;设计者有很好的素质和经验;在开发过程中,保持清晰的设计观点;授权团队负责软件的整体设计;不要害怕... 查看详情

架构之美阅读笔记06

...文件。Emacs有三种基本的对象:帧、窗口、缓冲区。Emacs架构所采用的是在交互应用程序中应用广泛的模型-视图-控制 查看详情

架构之美阅读笔记四

...就确定了问题空间。接下来我们要了解事实,重要问题和架构的关注点。确定工作流也是一个极为重要的步骤,来自于我们对于如何划分系统的考虑。  系统架构常见的关注点有,功能性:产品向特的用户提供哪些功能?可变... 查看详情

架构之美阅读笔记五

...二章展示了冲刺和统计评审这样的社区过程如何帮助软件架构从简单的骨架演变为美丽的系统。  第十一章为我们展示了GNUEmacs的故事:滋长的特性是其优势。首先我认识到了Emacs是什么。它和我们经常使用的其他文本编辑器... 查看详情

假期阅读笔记八

架构之美——系统架构(二)     时间很快,转眼假期过去了一半,理所当然《架构之美》也已经阅读了一半。直到今天,我才明白“不积跬步,无以至千里;不积小流,无以成江海!”的真正内涵,只要每天... 查看详情

《构建之法》阅读笔记02

                       《架构之美》阅读笔记02  今天,我读了《架构之美》第三、四章,第三章主要讲伸缩性架构设计,书中说设计系 查看详情