博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Creation Method
阅读量:7181 次
发布时间:2019-06-29

本文共 604 字,大约阅读时间需要 2 分钟。

最近在看《重构与模式》,里面提到Creation Method 

 

 动机

(1)构造函数无法有效和高效的表达意图。如果一个类里有多个构造函数,那么使用这个累的人只能从文档上才能知道哪个构造函数创建了什么对象,而Creation Method可针对创建对象的特性来命名函数的名称,提高了代码的可读性。
(2)在添加构造函数时,会遇到签名与某个构造函数相同的情况,这样构造函数将无法添加。而Creation Method可任意命名,不存在方法签名的问题,当然Creation Method也可以重载。

(3)一般来说,现在的开发环境没有自动提示函数无调用的功能,所以,如果系统中某个类的某个构造函数没有调用者,这是很难被这个类的编写者发现的,因为构造函数的名称都是一样的,而如果采用Creation Method,则很容易通过Creation Method的名称来查找整个工程甚至整个解决方案的调用者。 

 

前提以及缺点
通常,如果一个类拥有过多的构造函数,则说明此类的职责太多,所以运用“Creation Method替换构造函数”的重构的前提就是要考虑是否可以运用“提炼类(Extract Class)”重构方法来把这个类分解成若干个类。

这个重构的缺点在于它可能引入非标准的创建方式,如果大多数类都使用new实例化对象,而有些却使用一个Creation Method,那么程序员必须了解每个类的创建是怎样完成的。 

 

 

转载地址:http://wxazm.baihongyu.com/

你可能感兴趣的文章
细粒度审计(FGA)
查看>>
初学 Delphi 嵌入汇编[25] - 在汇编中调用函数
查看>>
Linux下软件包的几种安装方式
查看>>
WinAPI: waveInGetDevCaps - 查询输入设备的性能
查看>>
快速排序 java版
查看>>
谷歌周边探索应用FieldTrip上架苹果App Store
查看>>
codis3.2集群实例
查看>>
ffmpeg的中文文档(一)
查看>>
顺序容器(一)
查看>>
php编译中遇到种种error解决办法!
查看>>
Struts2框架在MyEclipse中的配置
查看>>
SpeedyCloud-云计算之旅
查看>>
Hadoop2安装
查看>>
12306铁道部订票网站瘫痪 技术惹的祸?
查看>>
Sitecore7.5 安装指南 -- 通过ZIP文件安装
查看>>
我的友情链接
查看>>
React Native 学习中遇到的问题记录
查看>>
秒杀系统设计
查看>>
动态库
查看>>
javascript如何深拷贝一个变量
查看>>