重构与模式(Refactoring to Patterns)-读书笔记
第一章
☛过度设计:是指代码的灵活性和复杂性超出所需。
第二章
☛重构是一种保持行为的转换。
第三章
☛每一个模式都是由三部分组成的规则,他表达的是某一环境,一个问题以及解决问题的方案之间的关系。
☛模式痴迷:对模式过于依赖。
第四章
☛代码坏味道
●代码重复(Duplicated Code)
通常可以通过形成Template Method重构。
●方法过长(Long Method)
●条件逻辑太复杂(Conditional Complexity)
●基本类型迷恋(Primitive Obsession)
●不恰当的暴漏(Indecent Exposure)
用工厂封装类重构可以去除这种坏味道。
●解决方案蔓延(Solution Sprawl)
●异曲同工的类(Alternative Classes with Different Interfaces)
●冗余类(Lazy class)
●类过大(Large Class)
●分支语句(Switch Statement)
●组合爆炸(Combinatorial Explosion)
●怪异解决方案(Oddball Solution)
第六章
☛解决各种设计代码的问题
●用Creation Method 替换构造函数
类中有多个构造函数,很难决定用哪一个。
● 将创建知识版移到Factory
用来实例化的一个类的数据和代码在多个类中到处都是。移到factory。
●用Factory封装类
直接实例化处在同一包结构中,实现同一接口的多个类。把类的构造函数声明为非公共的,并通过Factory来创建他们的实例。
●用Factory Method 引入多态的创建。
一个层次中的类都类似的实现一个方法,只是创建的步骤不同。创建调用Factory Method来处理实例化的方法的唯一超类版本。
第七章
☛简化
●组合方法
你无法迅速的理解一个方法的逻辑。把方法的逻辑转换成几个同一细节层面上的,能够说明意图的步骤。
●用Strategy替换条件逻辑。
方法中条件逻辑控制着应该执行哪个计算的变体,为每一个变体创建一个Strategy并使方法把计算委托到Strategy实例。
●将装饰功能搬移到Decorator
代码向类的核心职责提供装饰的功能。将装饰代码搬移到Decorator。
●用state替换状态改变条件语句
控制一个对象的转换条件的表达式过于复杂。
用处理特殊状态和转换的State类来替换条件语句。
●
●
●
●
●
☛☛☛☛☛☛☛☛☛
●
最新文章
- mysql_索引原理及优化
- NRF24L01--使用STM32F103
- WinForm开发框架--动态读取DLL模式
- 字符编码(ASCII,Unicode和UTF-8) 和 大小端
- iOS只执行一次的方法
- 给定数组a[N]构造数组b[N]
- Cocos2d-x创建新工程
- [转] 看懂UML类图和时序图
- Asp.Net HttpApplication请求管道与Session(二)
- linux及hadoop修改权限
- (NO.00004)iOS实现打砖块游戏(五):游戏场景类
- Cocos2D:塔防游戏制作之旅(十八)
- 【Android 应用开发】Android中使用ViewPager制作广告栏效果 - 解决ViewPager占满全屏页面适配问题
- maven与eclipse集成
- 搭建rsync服务并同步重要数据
- Linux内核中的printf实现
- Deepfakes:AI换脸技术自制明星XX片
- xml与Excel转换
- 推荐几个精致的web UI框架及常用前端UI框架
- onems设备管理系统(TR-069和OMA)
热门文章
- ";System.Security.Cryptography.CryptographicException: 拒绝访问"; 问题的解决方法
- 2016 ICPC大连站---F题 Detachment
- IOS应用内存释放机制
- 在网页布局中合理使用inline formating context(IFC)
- html5+Canvas实现酷炫的小游戏
- javascript中的prototype和constructor
- SQL Queries from Transactional Plugin Pipeline
- 【超全整理】J2EE集成开发环境MyEclipse使用心得汇总
- IOS开发基础知识--碎片10
- Java打印九九乘法表