Design patterns 比较管道和过滤器模式与生成器模式

Design patterns 比较管道和过滤器模式与生成器模式,design-patterns,architectural-patterns,Design Patterns,Architectural Patterns,我正试图了解这两种模式,并想知道它们的异同。对我来说,他们在方式上是相似的,因为他们似乎都在使用一步一步的过程。有没有人能对这两种模式做些解释?我说的管道和过滤器模式将用于较大规模的应用程序,而构建器模式将用于小规模的应用程序,对吗?很抱歉继续,但在生成器模式中,是否所有步骤都同时发生,即在返回完成的对象之前,所有属性都传递给生成器 谢谢。模式是企业级集成模式,而是一种面向对象的设计模式 这两种模式具有不同的语义: 用于对消息执行复杂处理的管道和筛选器 它们来自异构系统。通过管道传递的信息是

我正试图了解这两种模式,并想知道它们的异同。对我来说,他们在方式上是相似的,因为他们似乎都在使用一步一步的过程。有没有人能对这两种模式做些解释?我说的管道和过滤器模式将用于较大规模的应用程序,而构建器模式将用于小规模的应用程序,对吗?很抱歉继续,但在生成器模式中,是否所有步骤都同时发生,即在返回完成的对象之前,所有属性都传递给生成器

谢谢。

模式是企业级集成模式,而是一种面向对象的设计模式

这两种模式具有不同的语义:

  • 用于对消息执行复杂处理的管道和筛选器 它们来自异构系统。通过管道传递的信息是 传输到过滤器。过滤器依次处理接收到的数据 消息,并传输下一个管道
  • 生成器模式是一种对象化设计模式。它在以下情况下使用: 创建一组对象的过程包括几个步骤
如您所见,比较这两种模式是不正确的。但它们可以结合使用:使用构建器,您可以配置将要过滤的内容 参与处理
T
的消息类型。之后,可以使用配置的对象:

  • 创建端点(它将通过管道),消息将通过该端点 传播

  • 要创建将处理消息(这将筛选)的进程(甚至虚拟机实例,这取决于应用程序)

例如,您有图书销售系统:

  • 买家分为两类:普通买家和特权买家
  • 特权用户可享受N%的折扣
在这种情况下,管道可能是TCP通道,过滤器将处理订单

普通用户的订购流程为:

  • 把书放进篮子里
  • 授权书
  • 从卡上取款
  • 特权用户的订购过程:

  • 把书放进篮子里
  • 授权书
  • 折扣的计算
  • 从卡上取款

  • 可以看出,这两个过程有一个步骤不同。分支过程在用户授权后发生。用户授权后,筛选器#2(授权)必须生成并发送特定类型的消息:特权用户或普通用户。发送此消息后,应响应不同的筛选器。筛选特权用户的折扣计算或普通用户的取款。可以使用Builder模式以声明方式描述此配置。

    您指的
    Builder
    模式?是的,我指的是Builder模式。谢谢。嗨,Sattar,这是一个超级答案。非常感谢你为我澄清这一点。当做