摘要: 使用特定原型实例来创建特定种类的对象,并且通过拷贝原型来创建新的对象。 (摘自《游戏编程模式》) 原型模式很简单,简单到我们看到描述的定义就能知道大概如何实现。然而,在当时没有泛型编程的时代,能够将代码按照原型模式进行设计也是花费了很大功夫去组织的。我们需要体会设计一步步实现的思考过程。 原型模式主 阅读全文
posted @ 2021-10-19 22:56 ZhuSenlin 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 在对象间定义一种一对多的依赖关系,以便当某对象的状态改变时,与它存在依赖关系的所有对象都能收到通知并自动进行更新。 (摘自《游戏编程模式》) 我们很熟悉的MVC模式,其底层就是观察者模式。Java中的java.util.Observer和C#的event更是将观察者模式集成于语言层面中。 要如何理解 阅读全文
posted @ 2021-10-19 16:52 ZhuSenlin 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 使用共享模式以高效地支持大量的细粒度对象。 (摘自《游戏编程模式》) 该如何介绍共享模式呢?其实,“共享”一词就给出了答案。顾名思义,共享是指将一份作为共有部分供大多数运用。其实,我个人认为它的本质就是抽象化,即将一组对象的公共部分抽象起来并作为一个实例,这一实例将存储于所有对象中,供其使用。这样的 阅读全文
posted @ 2021-10-19 14:48 ZhuSenlin 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 将一个请求(request)封装成一个对象,从而允许你使用不同的请求、队列或日志将客户端参数化,同时支持请求操作的撤销与恢复。 命令就是一个对象化(实例化)的方法调用(A command is a reified method call)。 命令就是面向对象化的回调(Commands are an 阅读全文
posted @ 2021-10-19 13:26 ZhuSenlin 阅读(93) 评论(0) 推荐(0) 编辑