0

我正在阅读有关 OOP 并尝试将其应用于 Rails(受 Bob 叔叔的 Ruby conf 谈话的启发),我想知道,以我在下面的方式从“逻辑”模型访问存储库是否正确:

class Product
  ...
  def pick_a_random_product
    repository.pick_a_random_product
  end
  ...
end

这是否符合“逻辑与持久性分离”的条件?repository在“域”/“逻辑”模型中尽可能广泛地使用它是否可以?

repository意味着是一个真正的从数据库中获取东西的类。

4

1 回答 1

0

它有效,但如果 pick_a_random_product 用于不同的类意味着

假设你有类 xyz

Class Xyz
  ...
  def pick_a_random_product
    Product.pick_a_random_product
    # Xyz.pick_a_random_product you can't use this.
  end
  ...
end

你有类产品

class Product
  ...
  def pick_a_random_product
    Xyz.pick_a_random_product
  end
  ...
end
于 2012-10-03T09:32:46.193 回答