用Creation Method替换构造函数


这是我在《Refactoring to Patterns》中看到的第一个trick,我觉得很cool,而且很实用。毕竟实际项目中,这种情况还是很常见的。恩。

简单介绍一下Creation Method。由于C++JavaC#这些语言都会限定构造函数与类同名,(其实我觉得想出这个办法来区别其他函数也是非常cool的),所以如果我们有多种方法、形式、途径来创建类时,就会出现一个类有很多的构造函数。这个时候,如果其他人来调用这个类时,就不太懂得各个构造函数的区别了。好像win32 api中就有很多这种情况,很多class有很多constructor的,像我们这种菜鸟就不知如何下手了。惨惨惨。。。如何解决这个问题呢?我们就来创建一个专门用于创建类的method,就是所谓的creation method了,但是我们提供更容易理解的函数名,such ascreateTermLoan(…), createRevolver(…), …每个具体的creation method里面再调用特定的constructor。而且每个creation method都还可以重载的,可谓优点多多阿,活活。

Creation Method的缺点是,可能会增加class的负担,突然一下子多了那么多的method。这个时候,我们就可以考虑把它重构为factory method模式了。呵呵。

还好俺看过设计模式,而且先看得创建型设计模式,对factory还是相当的熟悉的,所以看这部分还是比较快的。接下来就。。。whatever,首先要把书看完,其次要认真地看。恩。Come on, baby!

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值