看了《Effective java》前两节,大概就讲了两种设计模式:
1、静态工厂(文章里讲其实有别于设计模式,更多的是说静态方法)
2、Builder
这两种设计模式,其实是比较常见的,不过在工作里面,很少说水到渠成地使用,一种原因是,自己对设计模式掌握不好,所以不敏感,一种是惰性,偷懒不想麻烦。且不论态度什么的,权当掌握不好吧,果然是“敬业”的小伙子。
1、静态工厂方法,适用在我的工作中的情况,播放器主类可以设计成这样。由于有可能是多种形式的播放器,如普通IPC播放器,云录像播放器,SD卡播放器等等。这时候提供静态的方法来返回特殊的播放器实例,然后可以把构造方法私有化起来。例如:
public static final Splayer newIPCPlayer(Source source){return xxxplayer;}
public static final newCloudPlayer,newSDPlayer 。。。工厂化的话,就是加个factory类去生产player。
2、Builder,也适用在player的创建上,因为初始化参数比较多,可以用Builder來链接。
网友评论