我正在尝试找到一个有用的设计模式,模拟以下内容:
DoThis()->ThenThis()->FinallyDoThis() then print "Hello world"
除非ThenThis()
通过,否则 DoThis()
无法运行。除非FinallyDoThis()
和ThenThis()
都通过,否则DoThis()
将无法运行。如果所有方法方法都通过,那么它会打印“Hello world”。
是否有适合这种情况的现有设计模式?我一直在调查monad的用法,但不确定它们是否适用于这种情况。
答案 0 :(得分:4)
如果语言if
语句短路,您可以在不知道语言的情况下将其置于if
语句中。然后让每个函数返回true或false:
if( foo() && bar() && baz() ){
System.out.println( "hello world" );
}
答案 1 :(得分:4)
如果您正在寻找设计模式。我认为这是Chain-of-responsibility pattern