• ベストアンサー

共通関数をどうするべきか

複数の場面で共通の関数を使っていました。 EXCELなどのVBの共通関数は、VB2010ではmoduleに置けば 同じになることが分かりましたが、批判もあるようです。 取り敢えず、次の3つに絞りこみましたが、どれが適当でしょうか。 1 moduleに記述してどこでも自由に呼び出せるようにすべき 2 common等のクラスを作って、そこにまとめて置く 3 あくまで関連するクラスに付属させるべき。重複は仕方ない。 4 その他(理由をお願いします)

質問者が選んだベストアンサー

  • ベストアンサー
  • MARU4812
  • ベストアンサー率43% (196/452)
回答No.1

オブジェクト指向的には3ぽいけど、 重複は無駄や冗長を含んでいる可能性が 高いわけで、重複しないようにすれば いいのでは? この手の質問をする人やオブジェクト指向 が理解できないという人を良く見ますが、 人間が日常生活でやり易いように手順を 考える事に近くて、既存の .NET Framework を参考にして設計すれば、そこまで悩む必要 は無いと思います。 プログラムだから共通関数にっていう意識 が強いんじゃないでしょうか?実装方法に ついてもインターフェースや継承など色々 あるので、質問にあげられている条件だけ では最終決定できないですね。 3がベースで、2寄りのものも存在して、 4で機能面をフォローといった感じに 思います。

noname#159617
質問者

お礼

すみません。そうなんです。 EXCELのVBしか触ってないので・・・ クラスとかその辺を読んでいたらグチャグチャになりました。 とりあえず今まで使ってきた共通関数をモジュールに移したんですが、 これは必要なのだろうか??ということで今悩んでいます。 取り敢えず作るべきものは決まっています。 ご意見有り難うございました。

noname#159617
質問者

補足

一応感想ですが、この手の質問ってよくあるのですか? 同じところで悩む人が意外と多いみたいですね。

関連するQ&A