汤圆 发布的文章

解释器模式的定义是“定义一种语言的文法表示,并建立一个解释器来使用该表示来解释语言中的句子”。基本上,解释器模式的应用领域有限。我们可以在形式文法方面讨论解释器模式,但在这一领域有更好的解决方案,因此它并不常用。该模式可用于解析简单文法定义的表达式,有时也用于简单的规则引擎。

- 阅读剩余部分 -

命令模式的定义是“将一个请求封装成一个对象作为命令,然后将其传递给调用者对象。调用者对象寻找能够处理该命令的合适对象,并将命令传递给相应的对象,由该对象执行命令”。它也被称为动作(Action)或事务(Transaction)。命令模式的优点它将调用操作的对象与实际执行操作的对象分离。它使添加新命令变得容易,因为现有的类保持不变。

- 阅读剩余部分 -

在责任链模式中,发送者将请求发送到一系列对象中。请求可以由链中的任何对象处理。责任链模式的定义是“通过让多个对象有机会处理请求来避免将请求的发送者与其接收者耦合”。例如,ATM机在出钞过程中使用了责任链设计模式。换句话说,我们可以说通常每个接收者都包含另一个接收者的引用。如果一个对象不能处理请求,则将请求传递给下一个接收者,以此类推。

- 阅读剩余部分 -

代理模式表示 “提供对原始对象的控制访问”。代理模式的核心是通过代理对象代表另一个对象进行操作,从而隐藏原始对象的信息,进行按需加载等操作。代理模式也称为 Surrogate 或 Placeholder。RMI API 使用了代理设计模式。Stub 和 Skeleton 是 RMI 中使用的两个代理对象。代理模式的优点它为原始对象提供了保护,使其免受外部世界的干扰。

- 阅读剩余部分 -

享元模式表示 “通过存储并重用已经存在的相似对象,当找不到匹配对象时创建新对象”。享元模式的优点它减少了对象的数量。它减少了对象持久化时所需的内存和存储设备的数量。享元模式的使用适用于以下情况:当一个应用程序使用大量对象时。当由于对象数量过多导致存储成本高昂时。当应用程序不依赖于对象标识时。

- 阅读剩余部分 -

外观模式表示 “提供一个统一和简化的接口,以便于使用子系统的一组接口,从而隐藏客户端的子系统复杂性”。换句话说,外观模式描述了一个使子系统更易于使用的高级接口。实际上,每个抽象工厂都是一种外观。外观模式的优点它屏蔽了子系统组件的复杂性。它促进了子系统与其客户端之间的松耦合。

- 阅读剩余部分 -

装饰器模式表示 “动态地给对象添加灵活的额外职责”。换句话说,装饰器模式使用组合而不是继承在运行时扩展对象的功能。装饰器模式也称为 包装器(Wrapper)。装饰器模式的优点它比静态继承提供了更大的灵活性。它增强了对象的可扩展性,因为更改是通过编码新类来完成的。它简化了编码,使你可以从目标类开发一系列功能,而不是将所有行为编码到对象中。

- 阅读剩余部分 -

组合模式表示 “允许客户端以统一的方式处理对象,这些对象可能表示对象的层次结构”。组合设计模式的优点它定义了包含原始对象和复杂对象的类层次结构。它使添加新类型的组件更加容易。它提供了具有可管理的类或接口的结构灵活性。

- 阅读剩余部分 -