架构设计
文章平均质量分 50
zhang_qxian
敏捷教练,资深码农,对敏捷软件开发,架构设计,研发管理等均有涉猎。
展开
-
演进式架构学习笔记(六):未来已来
演进式架构的未来基于AI的适应度函数。这个方向后续指的关注。如何能够把AI和研发过程联系起来?是崇尚简单粗暴管理,还是崇尚智能自动管理?目前有无可用开源工具或者平台支撑? 生成式测试。需要继续什么了解。目前的基本理解,生成式测试不同于单元测试(也有类似的地方)。单元测试是指定明确的输入输出+断言来判断程序的正确性,生成式测试是程序自动生成输入+断言来判断程序的正确性。为何要构建演进式架构呢?有什么充足的理由吗?显然,首先要评估是否值得付出额外的时间和精力来构建可演进的架构。其次,可以看看有哪些衡量因原创 2020-05-19 14:16:38 · 270 阅读 · 0 评论 -
演进式架构学习笔记(五):实践演进式架构
第8章实践演进式架构一、组织全功能团队。敏捷软件开发中的最佳实践之一。这里主要需要关注运维角色。 围绕业务能力来组织团队。 产品高于项目。产品生命周期长于项目。增加团队成员责任感的最佳方式,就是负责到底。 应对外部变化。一个有效的方法是,采用消费者驱动契约的模式。这个模式和SOLID中的依赖倒置很类似。就是Client来定义契约,Service来实现这个契约。相当于构建一张安全网,对这些契约进行适应度测试。但必须清醒的认识到,这需要团队具备一定的成熟度才可以。 团队成员之间的连接数。N(N-原创 2020-05-19 14:15:27 · 243 阅读 · 0 评论 -
演进式架构读书笔记(四):陷阱与反模式
演进式架构的陷阱和反模式反模式:供应商为王。即以供应商提供的架构为核心来组织自身业务,被供应商掌控全局。类似于20200517的HW事件,美国通过掐断半导体晶圆片的供给(非禁止,要许可)。也就是说,如果你的商业帝国强烈依赖于第三方供应商(尤其是不可替代),那么可能大厦一夜即倾。 陷阱:抽象泄露。所以重要的抽象,在某种程度上都会泄露。随着技术栈的不断变化,如何保证业务在技术不断发展时还能保持一定的稳定性?当然,重建几乎是不可避免的,但如果能在重建时付出的代价较小,显然对组织的研发效率是具备正面效应的。原创 2020-05-19 14:13:52 · 201 阅读 · 0 评论 -
演进式架构学习笔记(三):演进式数据及构建可演进的架构
第五章演进式数据数据库脚本管理策略:目前项目采用的策略是合适的,即保留每个产品版本的基础全量脚本,同时添加从上一版本到目前最新版本的升级脚本。最新的全量版本包含了最新的升级脚本。这样的好处是,如果是升级场景,在不迁移数据情况下,仅通过升级脚本即可完成升级。在新系统部署时,则运行全量脚本。在存在大量数据库操作的时候,微服务的限界上下文如何确定?因为数据库是整个系统的强力耦合点,因此单纯构建一个数据库微服务,第一直觉是不合适的。个人觉得,应该是先从业务领域入手,服务要围绕业务来构建。当需要操作数据库时,原创 2020-05-19 14:08:52 · 392 阅读 · 0 评论 -
演进式架构学习笔记(二):架构量子及架构模式
架构中的耦合。首先需要看到,耦合是复杂系统必然的属性之一,就像生物的细胞一样,必须相互交换信息才能体现出正常的功能。但不合理的耦合却是要极力避免的。我们常说高内聚低耦合。内聚是通过业务语义的关联来组织的,那么内聚带来的,往往是模块化(物理形式往往是DLL或者服务)。文中提到了具有高度功能内聚并可独立部署的组件可使用架构量子来隐喻。这里需要注意的是,如果想能够真正独立部署,往往离不开数据库,框架或者其他第三方组件,而在架构设计时,显然这种是最需要延迟决策的部分。因此,架构量子更多是从结构性元素的完整性来考虑,原创 2020-05-19 13:58:14 · 408 阅读 · 0 评论 -
演进式架构学习笔记(一):架构评估及适应度函数
适应度函数,本质上就是一组评估函数,用以评估架构在不同维度上的表现,并从全局角度进行平衡,从而实现增量和引导式演进。简言之,其实就是能够构建出一套架构监控机制。适应度函数,并不一定全部采用自动化手段,甚至某些维度不可能采用自动化手段。评估函数的确定,和问题域密切相关。需要识别出关键维度和相关维度。架构特性---适应度函数----探索式架构设计工程效率提升(CI)----这里联想到百度的工程效率部。微服务架构,让我联想到Erlang的进程,所有进程都是独立的,相互不耦合,仅仅通过消息进行通讯。原创 2020-05-19 13:51:13 · 879 阅读 · 0 评论 -
关于接口隔离(ISP)
接口隔离原则(Interface Segregation Priciple,ISP),简单说来就一句话,即不能强迫客户依赖于和他无关的接口。从本质上来讲,ISP就是隔离变化的波及范围。如果变化波及到了本身并不使用这些变化者功能的地方,这本身就是非常可怕的。对于修改和新增功能无法预测,对于大型项目来说是一场灾难。 在《敏捷软件开发:原则、模式与实践》中提到,“胖类会导致它们的客户...原创 2019-05-16 15:50:48 · 385 阅读 · 0 评论 -
继承这回事
开放封闭原则(OCP)是面向对象的核心原则之一,而OCP背后的支撑机制是抽象和多态,这两者又是以继承作为承载。因此继承的重要性就不言而喻。继承的定义,Barbala Liskvo说的很明白,“如果对每一个类型为S的对象o1,都有类型为T的对象o2,使得以T定义的所有程序P在所有的对象o1代换o2时,程序P的行为没有变化,那么类型S是类型T的子类型。”换句简单点的话说,就是子类型必须能够替换掉其...原创 2019-04-25 08:54:10 · 228 阅读 · 0 评论 -
The Onion Architecture(洋葱架构) part3
In my previous installments, I described what has become my approach to defining the architecture for an application. Based on feedback, I've modified my diagrams a bit to reduce ambiguity and emphas翻译 2018-01-19 15:21:25 · 1202 阅读 · 0 评论 -
The Onion Architecture(洋葱架构) part2
In part 1, I introduced an architectural pattern that I have named "Onion Architecture". The object-oriented design concepts are not new, but I'm pulling together a lot of techniques and conventions翻译 2018-01-19 14:27:03 · 1173 阅读 · 0 评论 -
The Onion Architecture(洋葱架构) part1
链接:http://jeffreypalermo.com/blog/the-onion-architecture-part-1/I've spoken several times about a specific type of architecture I call "Onion Architecture". I've found that it leads to more maintaina翻译 2018-01-19 13:57:07 · 1429 阅读 · 0 评论 -
The Clean Architecture(干净的架构)
Uncle Bob 13 Aug 2012 Architecture CraftsmanshipOver the last several years we’ve seen a whole range of ideas regarding the architecture of systems. These include:在过去几年中,我们已经看到了关于系统架构的各种观点,如下所示:Hexag翻译 2018-01-17 15:52:12 · 3065 阅读 · 0 评论 -
The Onion Architecture(洋葱架构) part4
In 2008, I coined a new pattern name called Onion Architecture. You can read the previous parts here: part 1, part 2, part 3. Over these four years, I’ve spoken about this pattern at user翻译 2018-01-22 08:53:39 · 662 阅读 · 0 评论 -
邓辉关于《架构的尖叫》一文的看法。
邓辉:2011.10.10在建筑行业,除了Arhcitect外,还有个很重要的角色,叫structural engineer,这个角色考虑的问题是实现的经济性,Architect主要解决布局和用的问题。在软件中,Architecture是个很含糊的概念。如果我们把范围做点局限的话,在软件中Architecture应该首先提供整个系统的Shape,这个Shape应该是由如何使用这个系统提原创 2018-01-15 09:50:28 · 540 阅读 · 0 评论 -
架构的尖叫
Screaming Architecture架构的尖叫 uncle bob 30 Sep 2011 ArchitectureImagine that you are looking at the blueprints of a building. This document, prepared by an architect, tells you翻译 2018-01-13 13:34:58 · 562 阅读 · 0 评论 -
六角架构
六角架构作者:Alistair Cockburn 原文链接:http://alistair.cockburn.us/Hexagonal+architecture 译文原链接:http://www.codeweblog.com/%E8%AF%91-%E5%85%AD%E8%A7%92%E6%9E%B6%E6%9E%84-hexagonal-architecture/转载 2017-04-17 08:47:42 · 1217 阅读 · 0 评论