04 2012 档案

摘要:在上一讲我们谈到了利用工厂方法模式解决对"某个对象"的创建工作,通常这个对象是"易变的",但它们的抽象能力却相对固定(即主模块变化相对缓慢),因此我们将通过工厂的"创建"来"封装"这个变化点,使得客户端无需知道对象的具体类型。但不管是简单工厂也好,工厂方法也罢都是针对"一类"对象的创建,当面对"一系列"(我们这里可以称维度)相互依赖的的对象时,就已经力不从心了,可能工厂的数量会指数级增长,这个可能是我们目前面临的变化点,我们同样需要一种"封装机制"来隔离这 阅读全文
posted @ 2012-04-10 00:07 Miracle He 阅读(1881) 评论(6) 推荐(4) 编辑
摘要:大家好,由于工作繁忙导致很久没有更新博客了。结合我一直以来的工作经历和项目经验,谈一下个人关于设计模式的理解。其实这个话题是非常大的,也非常深入的,可能不能一时半会能全部展现整个设计模式的精髓。因此我的建议是:首先了解每种设计模式的应用场景和基本框架,模式只有在特定的环境下才能发挥强大的作用,其次我们延伸对设计模式的应用,因此模式不能死板硬套,否则就会变成为了模式而模式,那就非常不合适的。说到这,让我想起来一句话:在合适的时间,合适的地点遇到合适的人,也许才是你一生的挚爱。对设计模式而言:在特定的应用场景,怀着特定的意图并融合以及适当扩展设计模式,也许才是项目使用设计模式的王道。在讲解Sin. 阅读全文
posted @ 2012-04-03 17:27 Miracle He 阅读(1133) 评论(0) 推荐(0) 编辑
摘要:在上一篇文章中(Singleton设计模式)曾谈到了工厂模式,那究竟什么是工厂模式呢?它又能解决什么样的问题呢?在知晓这个问题之前,让我们先了解一个概念:对象耦合。经常在很多技术书籍上听到"松耦合,高内聚"。那什么是松耦合呢?既然有松耦合,那应该存在相对的紧耦合吧。两者之间到底有什么联系呢? 带着这些问题,我们可以展开为什么需要工厂模式的缘由。松耦合即在软件系统中,模块与模块之间在应对软件变化(主要来自需求变化)时,一些模块很容易被替换或更改,而能使其他模块保持不变。相对的,紧耦合即软件应对变化时,一些软件的改变将会使相关模块发生改变。先看看下面的两幅图: 图1——紧耦合 阅读全文
posted @ 2012-04-03 17:25 Miracle He 阅读(2737) 评论(0) 推荐(1) 编辑