0
はモジュールが状態を持つのは悪い考えですか?以下ルビモジュールにおいて
include 'printer'
module A
def create(params)
temp = params
@object = Printer.init(temp) #this returns a hash with a collection of objects
end #{<object1>,<object2>,...}
end
も含まファイルプリンタはinit
と呼ばれるクラスのメソッドを呼び出すことにより、ハッシュを返すPrinter
と呼ばれるクラスがあり...作成し、適切なメソッド呼び出しに、ハッシュ内のオブジェクトを格納します。
最初に:このモジュールには状態がありますか?はいの場合、どうして国家と行動を一緒にするのは悪い考えですか、それは避けられないのですか?
状態と振る舞いはもちろん混合することができるが、なぜあなたの代わりに、クラスのためのモジュールを使用するのでしょうか? – riffraff
モジュールまたはクラスを使用する場合は重要です...私が探しているのは、モジュール内のデータを変更するためのメソッドだけです。 – pankajdoharey
クラスを使用する理由は、データを保持するために単一のインスタンスを使用できることです。これは、状態をコードの単一ビットにローカルに保つことができ、必要が生じた場合には最終的に他のインスタンスを使用できることを意味します。モジュールにデータを格納している場合は、すべてのコードで単一のグローバル共有状態を使用する必要があり、モジュール性、保守性、および拡張性の問題が発生します。 – riffraff