アクティブ レコードとデータ マッパーのデザイン パターンの違いを調べています。頭に浮かんだ単純な質問の 1 つは、アクティブなレコード インスタンスごとに永続化メソッドが重複していると、不必要なメモリ使用量が大量に発生するのではないかということです。それとも無視ですか?
1 に答える
1
オブジェクト指向プログラミング言語のメソッドは通常、オブジェクト レベルではなく、クラス レベルに存在します。つまり、オブジェクトはクラスのインスタンスであり、呼び出す (または言語によっては送信する) ときにobject.foo
、実際にはクラスを参照し、オブジェクトのコンテキストでメソッドを呼び出します。(これは、私が詳しく書く資格がないさまざまな方法で実現できます。)
/ / のすべてのインスタンスまたはその継承者がメソッドのコピーを持っている場合、一般的な言語でToString
/ toString
/のオーバーヘッドを想像してみてください!to_s
Object
あなたの質問に答えるために、いいえ、あなたの Active Record クラスを構成するクラスに存在するメソッドに関して、不必要なメモリ使用はありません。
于 2013-03-04T12:42:15.043 に答える