论坛首页 Java企业应用论坛

闲扯-关于对象的创建

浏览 4967 次
精华帖 (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防止忘记
   发表时间:2011-12-03  
是写在自己博客里的文章,忘记设置发到论坛里来了吧,还mark。。。
0 请登录后投票
   发表时间:2011-12-04  
slowvic 写道
是写在自己博客里的文章,忘记设置发到论坛里来了吧,还mark。。。

最近论坛不是挺水的,发到哪都无所谓,起码还是有点含量的
0 请登录后投票
   发表时间:2011-12-04  
effective java说的是考虑,lz怎么变成最好了
0 请登录后投票
   发表时间:2011-12-05  
gtssgtss 写道
effective java说的是考虑,lz怎么变成最好了

的确是考虑,写的时候,老想的是具体场景就写成最好了
0 请登录后投票
   发表时间:2011-12-05   最后修改:2011-12-05
LZ在讲创建型设计模式么?设计模式是需要很深理解才能使用的
0 请登录后投票
   发表时间:2011-12-05  
风云无浪 写道
LZ在讲创建型设计模式么?设计模式是需要很深理解才能使用的

什么很深的理解才能使用,你平时不小心都在使用,只不过不知道罢了

0 请登录后投票
   发表时间: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的用途有的时候也是这个,创建对象参数的给出是按步骤和顺序的。可以说这算业务逻辑,不过写在创建阶段,应该算是个不错的封装。
0 请登录后投票
   发表时间:2011-12-05  
悲剧了 写道
风云无浪 写道
LZ在讲创建型设计模式么?设计模式是需要很深理解才能使用的

什么很深的理解才能使用,你平时不小心都在使用,只不过不知道罢了


我说的使用是设计,不是怎么做,而是为什么这么做
0 请登录后投票
   发表时间:2011-12-05  
风云无浪 写道
悲剧了 写道
风云无浪 写道
LZ在讲创建型设计模式么?设计模式是需要很深理解才能使用的

什么很深的理解才能使用,你平时不小心都在使用,只不过不知道罢了


我说的使用是设计,不是怎么做,而是为什么这么做


你真happy
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics