![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
敏捷开发
Guanngxu
Keep trying
展开
-
什么是敏捷开发
刚进入 21 世纪的第一(2001)年,由于看到许多公司的软件开发团队陷入不断增长的过程的泥潭,一批业界专家组成了敏捷联盟,在随后的几个月中他们发表了一份敏捷联盟宣言,如下所示。个体和交互胜过过程和工具可以工作的软件胜过面面俱到的文档响应变化胜过遵循计划 上面价值观指出,编译器、源代码控制器、 IDE 等工具对于团队的开发者至关重要,但是不要过分夸大这些工具的作用,使用过...原创 2019-03-11 00:09:22 · 200 阅读 · 0 评论 -
单一职责与开放封闭原则
单一职责原则(SRP) 为什么要把两个职责分离到单独的类呢?因为每个职责都是变化的一个轴线,如果一个类承担的职责过多,就等于把这些职责耦合在一起了,一个职责的变化可能会削弱这个类满足其它职责的能力,这种耦合会导致脆弱的设计,如果发生变化,设计就会遭到意想不到的破坏。 上面类图中显示 Rectangle 类有两个方法,一个方法把矩形绘制在屏幕上,另一个方法计算矩形的面积。有两个不...原创 2019-03-17 18:42:53 · 483 阅读 · 0 评论 -
里氏替换原则(LSP)
里氏替换原则(LSP)里氏替换原则可以描述为:子类型必须能够替换掉它们的基类型。或者描述为:使用基类对象指针或引用的函数必须能够在不了解衍生类的条件下使用衍生类的对象。下面是一个违背 LSP 的一个简单示例;很显然,DrawShape函数的设计使得它必须知道所有Shape基类的衍生类,这个函数更明显的是违背了 OCP。void DrawShape(const Shape& s){...原创 2019-03-27 22:35:16 · 959 阅读 · 0 评论 -
什么是契约测试?
契约测试全称为:消费者驱动契约测试,最早由 Martin Fowler 提出。契约这个词从字面上很容易理解,就是双方(多方)达成的共同协议,那又为什么需要契约测试这个东西呢?在当前微服务大行其道的行业背景下,越来越多的团队采用了前后端分离和微服务架构,我们知道微服务是由单一程序构成的小服务,与其它服务使用 HTTP API 进行通讯,服务可以采用不同的编程语言与数据库,微服务解决了单体应用团队协...原创 2019-04-10 22:27:28 · 9515 阅读 · 0 评论