随笔分类 -  design pattern

摘要:command模式还是很清晰明了的:我这里想说的是order的实例是怎么从client传递到receiver的。 如果client和receiver是在一个进程里,自然无需多言。但如果这是一个分布式的系统呢?我想一般的处理应该是用持久化,把order实例序列化成xml,当作消息从client端发送到receiver端, receiver端根据xml描述生成object实例,执行然后删掉。这个过程我没实际做过,我现在work on的系统是这么处理的:首先,这个系统有自己的UI和逻辑层的同步机制,UI和逻辑层是两个独立的进程,可以部署到一台机器或者不同的机器上。所有在逻辑层的对象在UI层都有自己的 阅读全文
posted @ 2012-02-22 18:14 chengfei164 阅读(709) 评论(0) 推荐(1)
摘要:不要光考虑class之间的继承关系,有时候包含关系也能派上大用场。考虑以下场景,ThreadScheduler类,既要考虑不同的调度方式,还要考虑到不同的操作系统平台。如果按继承关系来设计,如下图,最后派生出来的子类的数目是N1×N2, 其中N1是不同调度方式的数目,N2是不同操作系统平台的数目如果考虑到以下事实,在每个子类里,有一部分逻辑只是和平台相关的,而和具体的调度方式无关。那么这种设计显然的会产生很大的代码重复。自然的,我们可以把平台相关的逻辑单独的拿出来Use the Bridge pattern when:you want run-time binding of the 阅读全文
posted @ 2012-02-22 13:50 chengfei164 阅读(237) 评论(0) 推荐(1)