锁定老帖子 主题:闲扯-关于对象的创建
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (1)
|
|
---|---|
作者 | 正文 |
发表时间:2011-12-03
最后修改:2011-12-06
effective java 第一章就在说这个,只不过觉的对象创建倒是说得还挺好,就是销毁这个一带而过,毕竟人家也是本薄薄的册子,
不要要求太高嘛,好多细节还的自己慢慢积累,不要指望牛人给你讲细节,牛人永远只能给你指明方向 创建对象的方式,一般new一个,但是很多特殊情形,new不是最好的,这个并不是,EJ让第一条让最好用静态工厂创建对象, 并列举了几个好处, factory method 就是为了创建对象的方便,虽然是停留在模块之间的交互,你不需要知道创建的任何细节,你只要调用我就好,关于 具体怎么创建,生成什么,逻辑我都给你封装了,你不要问那么多,你知道调用我,我给你正确的东西,思考过程你不需要知道,通常是 在给封装一些简单的组建给别人调用之类用到 创建对象通常还设计到builder模式,这个方式一般在对象创建的时候含有很多参数,但有些参数又不是那么必要,或者里面存在一些 业务判断,这样的对象要么太复杂,需要builder来构建,要么属于对象创建有限制条件,你的参数不符合就不能创建,那个被评为精华帖子的伤不起实例可以考虑这个,或者直接拆分对象http://www.iteye.com/topic/1042028 不要乱创建对象,这个就设计到单例,这个懒汉方式--你需要哥在给你创建,但是当很多人都需要的时候,就有线程问题,还要在上面加同步 不如饿汉好,虽然饿汉有点着急,但是人家耗点性能就没什么线程问题 最佳实践来自jdk 1.5引入的Enum 关于对象创建还设计到原型模式,这个就是一大推clone方法问题,jdk提高那个接口真还不敢随便用,不然但来了又是一大堆问题然后对象还可以怎么才创建了DI,这就设计到反射方式,昨天不是还有人在问DI,IOC区别,要扣字眼还可以扣出区别,哈哈,下一篇准备闲扯个对象销毁,跟着effetive思路走,mark防止忘记 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-12-03
是写在自己博客里的文章,忘记设置发到论坛里来了吧,还mark。。。
|
|
返回顶楼 | |
发表时间:2011-12-04
slowvic 写道 是写在自己博客里的文章,忘记设置发到论坛里来了吧,还mark。。。
最近论坛不是挺水的,发到哪都无所谓,起码还是有点含量的 |
|
返回顶楼 | |
发表时间:2011-12-04
effective java说的是考虑,lz怎么变成最好了
|
|
返回顶楼 | |
发表时间:2011-12-05
gtssgtss 写道 effective java说的是考虑,lz怎么变成最好了
的确是考虑,写的时候,老想的是具体场景就写成最好了 |
|
返回顶楼 | |
发表时间:2011-12-05
最后修改:2011-12-05
LZ在讲创建型设计模式么?设计模式是需要很深理解才能使用的
|
|
返回顶楼 | |
发表时间:2011-12-05
风云无浪 写道 LZ在讲创建型设计模式么?设计模式是需要很深理解才能使用的
什么很深的理解才能使用,你平时不小心都在使用,只不过不知道罢了 |
|
返回顶楼 | |
发表时间:2011-12-05
悲剧了 写道 effective java 第一章就在说这个,只不过觉的对象创建倒是说得还挺好,就是销毁这个一带而过,毕竟人家也是本薄薄的册子,
不要要求太高嘛,好多细节还的自己慢慢积累,不要指望牛人给你讲细节,牛人永远只能给你指明方向 创建对象的方式,一般new一个,但是很多特殊情形,new不是最好的,这个并不是,EJ让第一条让最好用静态工厂创建对象, 并列举了几个好处, factory method 就是为了创建对象的方便,虽然是停留在模块之间的交互,你不需要知道创建的任何细节,你只要调用我就好,关于 具体怎么创建,生成什么,逻辑我都给你封装了,你不要问那么多,你知道调用我,我给你正确的东西,思考过程你不需要知道,通常是 在给封装一些简单的组建给别人调用之类用到 创建对象通常还设计到builder模式,这个方式一般在对象创建的时候含有很多参数,但有些参数又不是那么必要,或者里面存在一些 业务判断,这样的对象要么太复杂,需要builder来构建,要么属于对象创建有限制条件,你的参数不符合就不能创建,那个被评为精华帖子的伤不起实例可以考虑这个,或者直接拆分对象http://www.iteye.com/topic/1042028 不要乱创建对象,这个就设计到单例,这个懒汉方式--你需要哥在给你创建,但是当很多人都需要的时候,就有线程问题,还要在上面加同步 不如饿汉好,虽然饿汉有点着急,但是人家耗点性能就没什么线程问题 最佳实践来自jdk 1.5引入的Enum 关于对象创建还设计到原型模式,这个就是一大推clone方法问题,jdk提高那个接口真还不敢随便用,不然但来了又是一大堆问题然后对象还可以怎么才创建了DI,这就设计到反射方式,昨天不是还有人在问DI,IOC区别,要扣字眼还可以扣出区别,哈哈,下一篇准备闲扯个对象创建,跟着effetive思路走,mark防止忘记 builder模式就好像我们建造房子,准备,然后一步步创建。先打地基,然后一层层往上盖。 builder的用途有的时候也是这个,创建对象参数的给出是按步骤和顺序的。可以说这算业务逻辑,不过写在创建阶段,应该算是个不错的封装。 |
|
返回顶楼 | |
发表时间:2011-12-05
悲剧了 写道 风云无浪 写道 LZ在讲创建型设计模式么?设计模式是需要很深理解才能使用的
什么很深的理解才能使用,你平时不小心都在使用,只不过不知道罢了 我说的使用是设计,不是怎么做,而是为什么这么做 |
|
返回顶楼 | |
发表时间:2011-12-05
风云无浪 写道 悲剧了 写道 风云无浪 写道 LZ在讲创建型设计模式么?设计模式是需要很深理解才能使用的
什么很深的理解才能使用,你平时不小心都在使用,只不过不知道罢了 我说的使用是设计,不是怎么做,而是为什么这么做 你真happy |
|
返回顶楼 | |