代码之家  ›  专栏  ›  技术社区  ›  elmt

DoThis->Then This->Then This的“程序”设计模式

  •  0
  • elmt  · 技术社区  · 14 年前

    我试图找到一个有用的设计模式,它模拟如下所示:

    DoThis()->ThenThis()->FinallyDoThis() then print "Hello world"
    

    ThenThis() 不跑除非 DoThis() 传球。和 FinallyDoThis() 不会跑除非 第() DOTHECT() 两者都通过。如果所有方法都通过,那么它将打印“hello world”。

    是否有一个现有的设计模式可以很好地适应这个需求?我一直在调查monads的用法,但不确定它们是否适用于本案。

    2 回复  |  直到 14 年前
        1
  •  4
  •   Arseny    14 年前

    如果你正在寻找设计模式。我想是 Chain-of-responsibility pattern

        2
  •  4
  •   wheaties    14 年前

    不知道你的语言,你可以把它放在 if 声明如果语言 如果 声明短路。然后让每个函数返回true或false:

    if( foo() && bar() && baz() ){
        System.out.println( "hello world" );
    }