1

私はステートレスサービスベースのシステムが人気のあるJavaの世界から来ました。Rubyの世界ではそれほど人気が​​なく、答えも見つかりません。その方法。

注文を保存するためにCRUDサービスが必要だとします。これは純粋なステートレスであり、インスタンス変数はなく、、などのメソッドだけcreateですread。使用するたびに新しいインスタンスを作成する必要があるのでしょうか。SpringまたはGuiceを使用するJavaでは、同時に使用できるインスタンスが1つあります。

私はそれを実装するために次の方法を考えることができます

1)通常のクラス、OrderRepository.new毎回電話

  class OrderRepository
    def create(order)
       ..
    end
  end

2)クラスメソッドと呼び出しOrderRepository.create(よく聞こえません)

  class OrderRepository
    def self.create(order)
       ..
    end
  end

3)クラスの代わりにモジュール

そのような場合、どちらが好ましいですか?

4

2 に答える 2

-1

ruby のような動的言語にマップされない Java ランドのパターンがたくさんあります。ruby のデザインパターンに関する本が 1 冊ありますが ( http://www.amazon.com/Design-Patterns-Ruby-Russ-Olsen/dp/0321490452 )、それらのほとんどは役に立ちません。

CRUD について話しているときは、おそらく、いくつかのデータベース エンティティを管理するために使用できる HTTP を話す API について話しているでしょう。

Ruby の世界では、RESTfull アプリケーションと JSON API の構築を強力にサポートしているため、Rails を使用してそのようなことを行うでしょう。

ですから、ルビーで DAO やリポジトリ クラスを作成しないでください。その必要はありません(ほとんどの場合)。

于 2013-03-05T20:11:01.770 に答える