2009年5月14日

观察者模式

摘要: 1什么是观察者模式 我们在日常生活中有很多观察者模式应用的场景。比如,凡是去过银行营业大厅办理业务的人,大多会有这么一段经历:办理业务之前,先要在营业大厅的门口领取一个排队号,然后你就可以在休息区等待叫号,当轮到自己办理业务的时候,某个柜台上方悬挂的小显示屏就会出现“请XXX号到XX柜台办理业务”。有的时候,某个柜台可能暂时停止办理业务,那么柜台上方的小屏就显示跟其它柜台上方的小屏同样的内容,以便提醒当前用户办理。对于这样的一个需求,你会怎么去实现它呢?我经过一番思考之后,写出了这么一段代码:Java代码://银行柜台类import java.util.Vector;public class 阅读全文

posted @ 2009-05-14 11:19 恒波 阅读(274) 评论(0) 推荐(0)

发展之道:简单与专注

摘要: 为什么要讲这样一个话题,主要源于最近碰到的几件事情。一个朋友想要做网站,给我讲了讲他的初步方案,毫无疑问,这是一个非常宏伟的综合性的网站,但我只听了一部分就让他打住了。我问他:你的网站到底跟别人有什么不同?他说:我的网站很专业很全面。我说:这没有意义,如果你还没有找到跟别人不同的话,建议你不要浪费那个精力和投入了。 如果个人或者小公司去做综合类网站,这是很不靠谱的事。现如今小网站的存活之道一定是垂直的,而且必须要有一个非常显著的亮点,只有把这个亮点深挖进去,吃透了,而且还能将它做到极致才行。从一开始就想搞一个大而全的网站,设置那么多的频道,这不仅对于拉动流量没有效果,而且还会把你的亮点给淹没. 阅读全文

posted @ 2009-05-14 11:00 恒波 阅读(179) 评论(0) 推荐(0)

单例模式

摘要: 1 单例模式的日常应用我们在浏览BBS、SNS网站的时候,常常会看到“当前在线人数”这样的一项内容。对于这样的一项功能,我们通常的做法是把当前的在线人数存放到一个内存、文件或者数据库中,每次用户登录的时候,就会马上从内存、文件或者数据库中取出,在其基础上加1后,作为当前的在线人数进行显示,然后再把它保存回内存、文件或者数据库里,这样后续登录的用户看到的就是更新后的当前在线人数;同样的道理,当用户退出后,当前在线人数进行减1的工作。所以,对于这样的一个需求,我们按照面向对象的设计思想,可以把它抽象为“在线计数器”这样一个对象,具体实现如下:Java代码://在线人数计数器class Online 阅读全文

posted @ 2009-05-14 10:58 恒波 阅读(254) 评论(0) 推荐(0)

享元模式

摘要: 1 享元模式的日常应用面向对象的思想确实很好地解决了抽象性的问题,以至于在面向对象的眼中,万事万物一切皆对象。不可避免的是,采用面向对象的编程方式,可能会增加一些资源和性能上的开销。不过,在大多数情况下,这种影响还不是太大,所以,它带来的空间和性能上的损耗相对于它的优点而言,基本上不用考虑。但是,在某些特殊情况下,大量细粒度对象的创建、销毁以及存储所造成的资源和性能上的损耗,可能会在系统运行时形成瓶颈。那么我们该如何去避免产生大量的细粒度对象,同时又不影响系统使用面向对象的方式进行操作呢?享元设计模式提供了一个比较好的解决方案。公共交换电话网的使用方式就是生活中常见的享元模式的例子。公共交换电 阅读全文

posted @ 2009-05-14 10:20 恒波 阅读(175) 评论(0) 推荐(0)

导航