测试驱动开发与软件重构的培训
面向对象的知识地图
面向对象的原则
IS0LD原则(Single Responsibility原则,0pen Closed原则,Liskov Substitution原则,Interface Segregation原则,Dependency Inversion原则)
DRY原则
…
面向对象的模式与方法
模式(架构模式、分析模式、设计模式、实现模式)
方法:TDD、UDD、DDD、FDD、BDD…
面向对象的实践与工具
实践(Pair Programming、Unit Test、Refactor…)
工具(XUnit、Mock、Git、Maven、Jenkins…)
三个基本元素
角色、职责、协作
用例驱动开发
面向对象的软件开发
角色、职责、协作
UML与00AD
设计画布
四色建模法
健壮性分析图法
CRC卡片法
Workshop:E-learning
绘制用例图
用户故事
粒度与层次
场景
设计画布
角色、职责、协作
验收测试驱动开发
实例化需求
场景驱动设计
行为驱动开发
使用Cucumber
确定角色、职责、协作
Kata_01:0rder Payment
从故事开始
基于文本的自动化
基于Gherkin语法
Given、When、Then、And、But
富有表现力的场景
组织代码
角色、职责、协作
测试驱动开发
基本匠艺实践
红色
绿色
蓝色
TDD三项法则
F.R.I.S.T
Kata_02:Currency
寻找结对伙伴
选取用户故事
编写测试用例
红色->绿色->蓝色
伪实现
显明实现
三角法
第二天
重构与设计模式
三个基本手法
抽象、封装、多态
重构工具箱
腐烂的代码
识别坏味道
应用重构技法
小步前进
Clean Code
Kata_03:Trainning
实现功能的代码
识别代码坏味道
重构手法运用
重构导向模式
绘制重构地图
重构导向模式
可读性好的代码
由异味导向的重构
由原则导向的重构
应用设计模式
抽象变化点
封装职责
利用多态进行解耦
Kata_04:iCourse
重构到策略模式
重构到工厂模式
重构到命令模式
重构到模板模式
重构到职责链模式
重构到适配器模式
重构到MVC框架
解构设计模式
识别变化点
关注点分离
职责的抽离
封装变化点
三种封装手法
依赖解耦
组合还是多态
设计的原本