いつもありがとうございます。
今回は、抽象的な質問ですいませんが
よろしくお願いします。
現在、紙面で自分が制作したいソフトの
クラスなどを考えているところなのですが、
どこでも言われている通り依存性が高いと困るというわけで、
依存が少ないように考えているのですが、実際よくわからず停滞しています
依存というのは、
例えば、スーパークラスを継承したサブクラスはスーパークラスに依存している?
また、メソッドAはメソッドBにより動作するとメソッドAはBに依存している?
という認識でいるのですが、これは正しいのでしょうか。
依存という概念について、ご教授頂ければ幸いです。
依存性の少ないクラスやメソッドとは?
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: 依存性の少ないクラスやメソッドとは?
依存といえば依存ですが、実装依存なのか機能依存なのかでは話が違ってきますね。
実装依存は避けるべきですが、機能依存になるのは当たり前です。
それと依存関係が単純なら解決は簡単ですが、複雑に依存しあっている物は修正が困難なので独立性は重要です。
あとこの掲示板で良く出てきますが、クラスの関係で水平方向で依存性が高いと柔軟性に欠けます。依存を引き受ける垂直方向で上のクラスを用意した方が良いでしょう。
つまり、気にするべきは独立性が高く複雑でないこと、実装依存でないこと、クラスの関係で垂直方向の依存を心がけることです。
でも、いろいろ考えて作業が止まるぐらいなら、一度組んでから考えないと前に進めないと思います。
実装依存は避けるべきですが、機能依存になるのは当たり前です。
それと依存関係が単純なら解決は簡単ですが、複雑に依存しあっている物は修正が困難なので独立性は重要です。
あとこの掲示板で良く出てきますが、クラスの関係で水平方向で依存性が高いと柔軟性に欠けます。依存を引き受ける垂直方向で上のクラスを用意した方が良いでしょう。
つまり、気にするべきは独立性が高く複雑でないこと、実装依存でないこと、クラスの関係で垂直方向の依存を心がけることです。
でも、いろいろ考えて作業が止まるぐらいなら、一度組んでから考えないと前に進めないと思います。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: 依存性の少ないクラスやメソッドとは?
返信が遅くなりました。softya(ソフト屋) さんが書きました:依存といえば依存ですが、実装依存なのか機能依存なのかでは話が違ってきますね。
実装依存は避けるべきですが、機能依存になるのは当たり前です。
それと依存関係が単純なら解決は簡単ですが、複雑に依存しあっている物は修正が困難なので独立性は重要です。
あとこの掲示板で良く出てきますが、クラスの関係で水平方向で依存性が高いと柔軟性に欠けます。依存を引き受ける垂直方向で上のクラスを用意した方が良いでしょう。
つまり、気にするべきは独立性が高く複雑でないこと、実装依存でないこと、クラスの関係で垂直方向の依存を心がけることです。
でも、いろいろ考えて作業が止まるぐらいなら、一度組んでから考えないと前に進めないと思います。
自分が好き勝ってに組んだコードは
結構実装依存になっていることが多いですね。
設計はきっちりできないと後からの変更に対応できないので、
アドバイス通り書いてみます。
ありがとうございました!