《重构--改善既有代码的设计》--大型重构(12)
2015-07-31 11:18
375 查看
一、Tease Apart Inheritance(梳理并分解继承体系)
某个继承体系同时承担两项责任,建立两个继承体系,并通过委托关系让其中一个可以调用另一个。
二、Convert Procedural Design to Objects(将过程化设计转化为对象设计)
你手上有一些传统过程化风格的代码。将数据记录变成对象,将大块的行为分成小块,并将行为移入相关对象之中。
三、Separate Domain from Presentation(将领域和表述/显示分离)
某此GUI类之中包含了领域逻辑,将领域逻辑分离出来,这它们建立独立的领域类。
四、Extract Hierarchy(提炼继承体系)
你有某个类做了太多工作,其中一部分工作是以大量条件表达式完成的。建立继承体系,以一个子类表示一种特殊情况。
某个继承体系同时承担两项责任,建立两个继承体系,并通过委托关系让其中一个可以调用另一个。
二、Convert Procedural Design to Objects(将过程化设计转化为对象设计)
你手上有一些传统过程化风格的代码。将数据记录变成对象,将大块的行为分成小块,并将行为移入相关对象之中。
三、Separate Domain from Presentation(将领域和表述/显示分离)
某此GUI类之中包含了领域逻辑,将领域逻辑分离出来,这它们建立独立的领域类。
四、Extract Hierarchy(提炼继承体系)
你有某个类做了太多工作,其中一部分工作是以大量条件表达式完成的。建立继承体系,以一个子类表示一种特殊情况。
相关文章推荐
- 关于eclipse中egit右键reset失败,无法更新git仓库.
- (LeetCode)杨辉三角形Pascal's Triangle
- C#中标准Dispose模式的实现
- Eclipse 快捷键大全
- Spring MVC的@ResponseBody返回JSON串
- spring controller里模拟post提交,返回结果异常
- C++实现合并排序的方法
- springMVC 前后台日期格式传值解决方式之一(共二) @DateTimeFormat的使用和配置
- 安装python的MySQLdb模块
- C语言中的static用途
- PHP 前加at符合@的作用解析
- C++ 使用gsoap实现webservice服务
- 关于C# DATAGRIDVIEW select 后绑定数据源顺序混乱的问题
- ASP.Net整体把控
- python os.path
- Intellij IDEA 14中使用MyBatis-generator 自动生成MyBatis代码
- ASP.NET MVC5 插件化机制简单实现
- 使用Spring AOP切面解决数据库读写分离
- java注解
- Lowest Common Ancestor of a Binary Search Tree Java LeetCode