gpt4 book ai didi

repository - 对象模型中的 "Points of view"

转载 作者:行者123 更新时间:2023-12-02 02:35:16 26 4
gpt4 key购买 nike

我们有两种域类型:用户位置

我们在 LocationRepository 上有一个方法:GetUserLocations()

现有的实现:

var user = UserRepository.GetUser(userId);
var locations = LocationRepository.GetUserLocations(userId);

对我来说,从 User 类型中检索与用户关联的位置更有意义,即:

var user = UserRepository.GetUser(userId);
var locations = user.GetLocations();

我认为后一种实现读起来更清晰,作为 API 客户端,我必须处理更少的类型(即不需要 LocationRepository)。另一方面,将有更多代码需要维护,因为我必须将“外观”写入 LocationRepository

我应该根据自己的直觉在 User 类型上为 LocationRepository 创建外观,还是应该满足于现状并接受序列图这对我来说“感觉”不对(即,位置信息的检索感觉就像是从错误的“观点”检索到的)?

最佳答案

我会从可维护性的角度来处理这个问题。我同意在 LocationRepository 上使用外观会“感觉不错”,并且可能会使代码更易读。

如您所说,权衡是需要维护更多代码。但是我们在谈论多少代码?是不是很多,要经常更新吗?或者你能不能写一次就忘掉它,让它很容易进行单元测试?如果是前者,就接受它,继续当前的实现,并提醒自己它并没有真正影响功能。如果是后者,可能值得在其他地方为那种良好的感觉和更具可读性的代码付出努力。

关于repository - 对象模型中的 "Points of view",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2113706/

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