首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查找设计模式的名称

查找设计模式的名称
EN

Stack Overflow用户
提问于 2010-02-05 05:37:34
回答 2查看 247关注 0票数 1

VBScript保证GC将在每一行之后运行,因此如果您创建了一个对象而没有保留引用,那么它的析构函数将在该行的末尾被调用。这允许您做许多有趣的事情,其中之一就是模拟可选参数:

代码语言:javascript
复制
with foo(mandatoryArg)
    .optArg = 42
end

另一种是允许方便的构建器语法:

代码语言:javascript
复制
with Schema.define("Foo")
    .attr "name", String

    with .attr "key", String
        .lengthEquals(10)
    end
end

在此示例中,define和attr返回最终确定析构函数中的架构和属性定义的对象。

我一直将临时对象称为星表,但我想知道是否有一个预先存在的术语来表示这种结构。有人在别的地方见过这个吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-02-05 10:52:51

根据Builder pattern in wikipedia的说法,这是建造者,更具体地说,是混凝土建造者。在实践中,这些对象通常是短暂的。构建器模式有几个组件,包括控制器等。但是您正在调用的这个短暂的对象看起来就是构建器对象。

票数 1
EN

Stack Overflow用户

发布于 2010-02-26 23:26:52

您肯定是在使用构建器模式。然而,GC的滥用是新的。对于您正在构建的语法类型,更通用的名称是fluent interface

您可以使用"using“语法在C#中实现类似的功能,但在实践中,人们使用lambda表达式来实现这一点,这一点更加清晰。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2203417

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档