摘要: # 什么是敏捷软件开发 > 敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程 阅读全文
posted @ 2023-09-05 21:08 kisshappyboy 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 1、了解了康威定律是什么,再来看看他如何在半个世纪前就奠定了微服务架构的理论基础。 (1)人与人的沟通是非常复杂的,一个人的沟通精力是有限的,所以当问题太复杂需要很多人解决的时候,我们需要做拆分组织来打成对沟通效率的管理 (2)组织内人与人的沟通方式决定了他们参与的系统设计,管理者可以通过不同的拆分 阅读全文
posted @ 2023-09-05 18:14 kisshappyboy 阅读(9) 评论(0) 推荐(0) 编辑
摘要: > 事务的四个基本特性: Atomicity(原子性):事务是一个不可分割的整体,事务内所有操作要么全做成功,要么全失败。Consistency(一致性):务执行前后,数据从一个状态到另一个状态必须是一致的(A向B转账,不能出现A扣了钱,B却没收到)。Isolation(隔离性): 多个并发事务之间 阅读全文
posted @ 2023-09-05 18:10 kisshappyboy 阅读(7) 评论(0) 推荐(0) 编辑
摘要: > BASE是“Basically Available, Soft state, Eventually consistent(基本可用、软状态、最终一致性)”的首字母缩写。其中的软状态和最终一致性这两种技巧擅于对付存在分区的场合,并因此提高了可用性。 # 什么是BASE > eBay 的架构师 Da 阅读全文
posted @ 2023-09-05 18:05 kisshappyboy 阅读(8) 评论(0) 推荐(0) 编辑
摘要: > CAP理论是分布式系统、特别是分布式存储领域中被讨论的最多的理论。其中C代表一致性 (Consistency),A代表可用性 (Availability),P代表分区容错性 (Partition tolerance)。CAP理论告诉我们C、A、P三者不能同时满足,最多只能满足其中两个。 # CA 阅读全文
posted @ 2023-09-05 17:49 kisshappyboy 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 面向对象设计其他原则: 封装变化少用继承 多用组合针对接口编程 不针对实现编程为交互对象之间的松耦合设计而努力类应该对扩展开发 对修改封闭(开闭OCP原则)依赖抽象,不要依赖于具体类(依赖倒置DIP原则) 密友原则: 只和朋友交谈(最少知识原则,迪米特法则)说明: 一个对象应当对其他对象有尽可能少的 阅读全文
posted @ 2023-09-05 16:33 kisshappyboy 阅读(2) 评论(0) 推荐(0) 编辑
摘要: # 合成/聚合复用原则 > (Composite/Aggregate ReusePrinciple ,CARP): 要尽量使用对象组合,而不是继承关系达到软件复用的目的 # 定义 经常又叫做合成复用原则(Composite ReusePrinciple或CRP),尽量使用对象组合,而不是继承来达到复 阅读全文
posted @ 2023-09-05 16:21 kisshappyboy 阅读(4) 评论(0) 推荐(0) 编辑
摘要: > Dependency-Inversion Principle 要依赖抽象,而不要依赖具体的实现, 具体而言就是高层模块不依赖于底层模块,二者共同依赖于抽象。抽象不依赖于具体,具体依赖于抽象。 # 定义 高层模块不应该依赖低层模块,它们都应该依赖抽象。抽象不应该依赖于细节,细节应该依赖于抽象。简单 阅读全文
posted @ 2023-09-05 16:14 kisshappyboy 阅读(7) 评论(0) 推荐(0) 编辑
摘要: > (Interface Segregation Principle,ISL): 客户端不应该依赖那些它不需要的接口。(这个法则与迪米特法则是相通的) # 定义: 客户端不应该依赖那些它不需要的接口。另一种定义方法: 一旦一个接口太大,则需要将它分割成一些更细小的接口,使用该接口的客户端仅需知道与之 阅读全文
posted @ 2023-09-05 15:25 kisshappyboy 阅读(7) 评论(0) 推荐(0) 编辑
摘要: > Liskov Substitution Principle ,LSP: 任何基类可以出现的地方,子类也可以出现;这一思想表现为对继承机制的约束规范,只有子类能够替换其基类时,才能够保证系统在运行期内识别子类,这是保证继承复用的基础。 # 定义 第一种定义方式相对严格: 如果对每一个类型为S的对象 阅读全文
posted @ 2023-09-05 15:13 kisshappyboy 阅读(4) 评论(0) 推荐(0) 编辑
摘要: > Open - ClosedPrinciple ,OCP, 对扩展开放,对修改关闭(设计模式的核心原则) ## 定义 > 一个软件实体(如类、模块和函数)应该对扩展开放,对修改关闭. 意思是,在一个系统或者模块中,对于扩展是开放的,对于修改是关闭的,一个 好的系统是在不修改源代码的情况下,可以扩展 阅读全文
posted @ 2023-09-05 14:48 kisshappyboy 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 在软件开发中,前人对软件系统的设计和开发总结了一些原则和模式, 不管用什么语言做开发,都将对我们系统设计和开发提供指导意义。本文主要将总结这些常见的原则,和具体阐述意义。 # 开发原则SOILD > 面向对象的基本原则(solid)是五个,但是在经常被提到的除了这五个之外还有 迪米特法则和合成复用原 阅读全文
posted @ 2023-09-05 14:43 kisshappyboy 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 1. 软件开发中的原则 - SOLID > 在软件开发中,前人对软件系统的设计和开发总结了一些原则和模式, 不管用什么语言做开发,都将对我们系统设计和开发提供指导意义。本文主要将总结这些常见的原则,和具体阐述意义。 2. 分布式理论 - CAP > CAP理论是分布式系统、特别是分布式存储领域中被讨 阅读全文
posted @ 2023-09-05 14:35 kisshappyboy 阅读(7) 评论(0) 推荐(0) 编辑