3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

非エンジニア向けにもわかるよう「依存」を解説する

Posted at

エンジニアリングにおいて、「依存」は重要な概念です。

たとえば『Clean Architecture』では、設計やコンポーネントの原則のなかに「依存」をテーマにするものもあるように、依存に対する理解は不可欠と言えるでしょう。

このエントリでは他の職種の人にも「依存」の重要性を知ってもらうため、「持ち家と賃貸」を例に挙げて、エンジニアリング関連の言葉を使わずに「依存」を説明するようなテキストを書いてみました。

ぜひ5分ぐらい時間を確保して読んでいただければと思います。

言葉の意味を考える

まず「依存」とは、どのような意味でしょうか。

Weblio辞書を引くと「他に頼って存在、または生活すること。1」と書いてあります。

つまりは「自身以外のものを必要とすること」と言えるでしょうか。

身近な「依存」

たとえば私たちは家に住んでいます。

そして「家は必要だ」と考えるとき「私は家に依存する」と表現できます。

「依存」というと「依存症」というような強烈なイメージのみ持つかもしれませんが、いたるところに依存はあります。

依存していない人は存在しません。

どんなものにも依存関係はあります

依存することによって何が起きるか?

つぎに「依存することによって何が起きるか?」を考えてみましょう。

自分なりに説明すると、

依存先の変更の影響を依存元は受ける

と言えるでしょうか。エンジニアにとっては、この意味合いがとても重要です。

依存先の変更の影響を依存元は受ける

さきほど「私は家に依存する」と書きました。

「私は家に依存する」ということは、「家の変更があると私も影響を受ける」ということです。

  • 素敵なソファーをリビングに置いたけれど、引っ越したら置き場所に困ってしまった
  • 隣に越してきた人がうるさくて寝れない

みたいな例は一度はあるはずです。2

依存には強弱がある

そのままさらに「依存」の解像度を上げてみましょう。それは、

依存には強弱(度合い)がある」

ということです。つまり強い依存と弱い依存があります

強い依存

「強い依存」とは「依存先を変更できないものに対する依存」です。

たとえばあなたが持ち家を持っている場合、そう簡単には他の持ち家に変えることはできないでしょう。

この場合「私は持ち家に強く依存している」と表現できます。

「依存症」と呼ばれるものもこれに該当するでしょうか。「私はアルコールに強く依存している」つまり「アルコールという依存先を変更できない(やめられない)」わけですね。

弱い依存

一方で「弱い依存」は「依存先を容易に変更できる依存」です。

持ち家に対応させるなら、賃貸が正しい例でしょうか。来年違う家に住んでいるかもしれません。「私は賃貸に弱く依存している」わけです。

依存の度合いは変化するしコントロールもできる

最後に。依存をきちんと把握できると、いずれは依存をコントロールできるようになります。

変更が起きないものには強く依存する

たとえば持ち家を持っている人は、どうせ家の変更はないでしょうから、オーダーメイドされた本棚を設置したり、キッチンにさまざまな調理家電を置いたりしても構いません。

つまり「変更が起きないものには強く依存する」作戦をとっているわけです。

変更が起きやすいものには弱く依存する

しかし賃貸でこれをやるとどうでしょう。

その本棚は次の家には収まりきらず、まな板を置くスペースもないキッチンになるかもしれません。

言い換えれば「変更が起きやすいものには弱く依存する」必要があります。賃貸に変更が起きないことは考えられません。

繰り返し、ここで重要なのは、依存の度合いはある程度コントロールできるものだということです。

持ち家に住んでいたとしても「いつ地震で壊れるかわからない」と考えるのであれば、その人は「依存を弱める」戦略をとれます。

エンジニアがなぜ「依存」を重要視しているのか

エンジニアも日々いろいろな「依存」をコントロール、とくに弱く依存するように工夫しています。

なぜか。それは「刻々と変わっていく状況に対応するため」です。

ビジネスやエンジニアリングの現場は、持ち家とは違って、死ぬまで一生変わらないことが有り得ません。

オンプレミスからクラウドへ

最近ではもう当たり前になってきた「クラウド」は、その主な例でしょう。

自社のサービスが動くサーバの実物が社内に置かれているとき、そのサーバは用意に交換できないため「自社サービスはサーバに強く依存している」ことになります。

当然サーバの変更はモロに受けます(サービスの停止)。

これをクラウドに変えると、サーバは(上記例と比較して)変更容易なものになります。

いまあるスペックのサーバで満足できなければ、依存先を別のスペックのサーバに切り替えればいいだけです。「弱く依存している」と言えるでしょう。3

まとめ

本エントリのポイントをまとめなおすと、次の通りです。

  • 依存とは、自身以外のものを必要とすること
  • どんなものにも依存関係はある
  • 依存先の変更の影響を依存元は受ける
  • 依存には強弱の度合いがある
    • 変わらないものには強く依存する
    • よく変わるものには弱く依存する
  • エンジニアリングにおいては「よく変わるもの」が多いので、弱く依存できるような工夫をしている

この記事が好評であれば、もうひとつだけ「依存関係は逆転できる」というテーマも書いてみようと思います。

またここまで読んでいただいた方は「強く依存しているもの」や「弱く依存しているもの」の実例を教えていただけたら幸いです。

  1. 依存(いそん)の意味や読み方 Weblio 辞書

  2. 正確を期するのであれば、「ソファーは家に依存する」「私は隣人に依存する」と説明すべきでしょう。このエントリではおおまかに理解できれば良いと思うため、ここに書いておきます。

  3. これを「依存していない」と表現しても間違いではないと思います。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?