ページ 11

依存性の少ないクラスやメソッドとは?

Posted: 2013年9月06日(金) 22:51
by 海Sea
いつもありがとうございます。

今回は、抽象的な質問ですいませんが
よろしくお願いします。

現在、紙面で自分が制作したいソフトの
クラスなどを考えているところなのですが、
どこでも言われている通り依存性が高いと困るというわけで、
依存が少ないように考えているのですが、実際よくわからず停滞しています

依存というのは、
例えば、スーパークラスを継承したサブクラスはスーパークラスに依存している?
また、メソッドAはメソッドBにより動作するとメソッドAはBに依存している?
という認識でいるのですが、これは正しいのでしょうか。
依存という概念について、ご教授頂ければ幸いです。

Re: 依存性の少ないクラスやメソッドとは?

Posted: 2013年9月07日(土) 00:41
by softya(ソフト屋)
依存といえば依存ですが、実装依存なのか機能依存なのかでは話が違ってきますね。
実装依存は避けるべきですが、機能依存になるのは当たり前です。
それと依存関係が単純なら解決は簡単ですが、複雑に依存しあっている物は修正が困難なので独立性は重要です。
あとこの掲示板で良く出てきますが、クラスの関係で水平方向で依存性が高いと柔軟性に欠けます。依存を引き受ける垂直方向で上のクラスを用意した方が良いでしょう。
つまり、気にするべきは独立性が高く複雑でないこと、実装依存でないこと、クラスの関係で垂直方向の依存を心がけることです。

でも、いろいろ考えて作業が止まるぐらいなら、一度組んでから考えないと前に進めないと思います。

Re: 依存性の少ないクラスやメソッドとは?

Posted: 2013年9月19日(木) 16:51
by 海Sea
softya(ソフト屋) さんが書きました:依存といえば依存ですが、実装依存なのか機能依存なのかでは話が違ってきますね。
実装依存は避けるべきですが、機能依存になるのは当たり前です。
それと依存関係が単純なら解決は簡単ですが、複雑に依存しあっている物は修正が困難なので独立性は重要です。
あとこの掲示板で良く出てきますが、クラスの関係で水平方向で依存性が高いと柔軟性に欠けます。依存を引き受ける垂直方向で上のクラスを用意した方が良いでしょう。
つまり、気にするべきは独立性が高く複雑でないこと、実装依存でないこと、クラスの関係で垂直方向の依存を心がけることです。

でも、いろいろ考えて作業が止まるぐらいなら、一度組んでから考えないと前に進めないと思います。
返信が遅くなりました。
自分が好き勝ってに組んだコードは
結構実装依存になっていることが多いですね。
設計はきっちりできないと後からの変更に対応できないので、
アドバイス通り書いてみます。
ありがとうございました!