我在一个由多个微服务组成的Haskell项目中工作。多个服务同时需要某些类型,因此在单独的库中定义,这些库是根据需要导入的(每个类型都是版本化的)。但有些事情让我感到不舒服,我想知道哪个是关于这个话题的最佳做法。特别是:
最后,关于此事的后勤方面,
答案 0 :(得分:0)
我知道我在这里吐痰,但从那以后。
Store
实例; 那么假设您的孤儿实例 - 尽管是孤儿 - 可以合理地被视为为这些类型/类组合定义的全局唯一实例似乎是合理的。所以,如果有-fno-warn-orphans
,那将是合理的使用。
您提到的避免孤儿的替代方案(newtype包装器和每个微服务类型定义)分别听起来很烦人且容易出错,以至于尽管存在不必要的依赖关系,但最好保持实例的类型。