大话重构
来源:互联网 发布:starbound知乎 编辑:程序博客网 时间:2024/05/06 03:06
小步快跑:逐步进化式的程序优化过程。
演进式设计,迭代式开发;
软件——满足功能需求;
软件开发过程是一个由简单到复杂循序渐进的过程。
对于变化,可以通过重构来适应变化。
当软件因为需求变更而开始逐渐退化时,运用软件重构改善我们的结构,使之重新适应软件需求的变化。
重构的方法:
拆分类、函数:单一职责原则。(分久必合、合久必分);
提高代码复用率:封装、抽取父类、类、函数;
发现程序可扩展点:开闭原则,过程的扩展与放置钩子——运用模板模式增加可扩展点,面向切面的可扩展设计;
降低程序依赖度:接口与工厂模式;与外部系统解耦——适配器模式,方法的解耦——策略模式,过程的解耦——命令模式;
分层:
领域驱动设计:
1、TIPS
(1)什么是重构
重构:改变软件的内部结构,但要保证系统中的每个接口其输入输出不变;
贯穿整个重构过程的是不断地测试(先手工测试,等条件成熟,进行代码级的自动化测试)。修改一点点就进行一次测试。
(2)软件重构第一步就是拆分。
当重复代码被割裂成碎片时——继承结合模板模式;
继承的泛滥——桥接模式;
透明的功能扩展与设计——组合模式与装饰模式;
解耦与自动化测试;
(3)什么时候重构
重构让程序可读;
重构,才好复用;
先重构,再扩展;
需求变更是我们去重构的主要动因。
当原程序不适应新的需求时,先重构系统使之首先适应新的需求,再去实现这些需求;
重构方法可分为以下几个层次:
方法的重构、对象的重构、对象间的重构、继承体系间的重构、组织数据的重构、体系架构的重构;
(4)怎样拥抱变化
领域才是软件系统的心;
领域模型分析方法;
领域驱动设计——使用领域模型与客户一起设计;
(5)如何评价软件质量
(6)领域驱动设计思想:
在面向对象的世界里,我们设计的类、方法、关联,应当与现实世界中的事物、行为,及其相互的关系对应起来。现实世界有什么事物,这些事物有什么行为,相互之间是什么关系,则我们在软件世界里就应当设计什么类、什么方法和它们之间的关联关系。
2、PS
(1)QTP
使用QTP的目的是想用它来执行重复的手工测试。
(2)软件修改的四种动机
a、增加新功能;
b、原有功能有bug;
c、改善原有程序的结构;——提高软件内部的质量;
d、优化原有系统的性能;
(3)什么是高质量的软件
易读;保证维护容易;保证需求变更轻易进行,而不是大改——要做到,需要系统重构,持续不断对内部质量进行优化改进;
- 大话重构
- 《大话重构》
- 《大话重构》
- 大话重构
- 《大话重构》
- 读大话重构
- 大话重构 记录
- 读书笔记--《大话重构》
- 读大话重构
- 大话重构连载首页
- 大话重构之系统重构
- 代码重构--大话重构
- 大话重构——改善代码
- 大话重构连载2:什么是系统重构
- 大话重构连载3:在保险索上走钢丝
- 大话重构4:大布局与小步快跑
- 大话重构连载4:大布局与小步快跑
- 大话重构连载6:一个真实的谎言
- 【算法】 擅长排列的小明
- IP段去重
- IO中同步、异步与阻塞、非阻塞的区别
- mysql恢复和备份数据库中的表
- java开发_生成/解析自己的QRCode二维码
- 大话重构
- 使用storyboard实现页面跳转,简单的数据传递
- Thread 1 cannot allocate new log
- 关于android百度地图离线地图的使用
- 网站发展移动端选择App or HTML5?
- 获取当前app的名称和版本号
- -Z(IDATA)ISTACK+_IDATA_STACK_SIZE#08-_IDATA_END",
- U3D点滴-单例模式
- 淘金网UCskype呼叫中心(语音群呼)系统