gpt4 book ai didi

javascript - 如果 getOrCreate 是一种反模式,我该如何避免呢?

转载 作者:行者123 更新时间:2023-11-29 14:45:07 24 4
gpt4 key购买 nike

根据 http://martinfowler.com/bliki/CQRS.html我相信 getOrCreate 函数是一种反模式。

function getOrCreateObj(something) {
let f = find(something, db);
if (f) return f;
else return createObj(something);
}

我应该怎么做才能避免它?

最佳答案

最好有返回特定类型或 null 的无副作用函数。

所以你会有一个 get 和一个 create 方法,并在应用程序逻辑或上面的抽象中检查是否存在 something

// pseudo code
get( INT: id ); // Returns SomeObj or NULL
create( INT:id ):: SomeObj;

// In service or application layer or other abstraction
foo = get( 1 ) || create( 1 );

关于javascript - 如果 getOrCreate 是一种反模式,我该如何避免呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33892690/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com