NISHIO Hirokazu
[Translate]
依存性逆転の原則
Dependency inversion principle
High-level modules should not depend on low-level modules. Both should depend on abstractions.
Abstractions should not depend on details. Details should depend on abstractions.
https://en.wikipedia.org/wiki/Dependency_inversion_principle
上位レベルのモジュールは下位レベルのモジュールに依存すべきではない。両方とも
抽象
に依存すべきである。
抽象は詳細に依存してはならない。詳細が抽象に依存すべきである。
「上位レベル」が「
抽象度
の高いモデル」ではないことに注意が必要。
あるモジュールXを利用するモジュール(=上位レベルのモジュール)が、
Xの実装の詳細に依存している(=Xの
実装の詳細
が変化した時に合わせて変化する必要がある)と、
上位レベルのモジュールはモジュールXの変更のたびに変更を迫られるか、
もしくはそれを嫌ってモジュールXを変更しないようにしようとする力学が働く。
依存性逆転
Tweet
Related Pages
→
抽象度が高すぎる
×
抽象度
×
抽象度を下げる
×
具体化
×
抽象的概念
×
具体的経験
×
1bitの思考
→
抽象概念
→
抽象こねこね
×
登って降りるメタファー
×
u曲線モデル
×
w型問題解決モデル
×
「最速のコースは最速ではない」誕生プロセス
×
ボトムアップでないと応用ができない
×
やりたいのにやってない人
×
作りたいと思って作ったことのない人
×
コンテスト応募者へのタイプ別のアドバイス
×
meeting_with_scott_wu
×
湧き出しポイント
×
モデルは仮説の集合
×
知識は行動によって検証されなければいけない
×
エンジニアの学び方のモデル更新の図
×
抽象
×
モデル
×
仮説
×
行動によって検証
×
検証すべきものを検証していない
×
地に足がついていない
×
意味で言葉を検索
×
歩く目線と飛行機の目線
×
鳥の目
×
穴を開けるべき壁を見つける
×
上が抽象で下が具体の図
→
抽象だけこねこね
→
最速のコースは最速ではない
×
戦術と戦略
×
抽象概念
×
抽象度
×
対立概念は1ビット
×
制約
×
ポリシー制約
×
抽象度を落とすと正確性が失われるのか
×
理解していないから掘り下げられない
→
「最速のコースは最速ではない」誕生プロセス
→
抽象度
×
スキップリスト
×
頭でっかち
×
現実の問題
×
トレードオフ
×
技術の進歩が生産可能性フロンティアを拡大する
×
理解の対象が曖昧
→
抽象度と速さと着地
→
c言語
×
高級言語
×
抽象度
×
移植性
×
保守性
→
かつてC言語は高級言語だった
→
具体的な経験
×
知見
×
やりたいことがたくさんあると抽象度高く考えてしまう
×
具体的な要件
×
意思決定の手がかり
×
抽象度を高めていくほど使える道具が減っていく
×
抽象度が高い
×
応用範囲が広い
×
抽象度が高くなると応用範囲が広くなる
×
抽象度
×
応用
→
抽象度の高い概念は応用範囲が広い
→
軸足のある変換
×
軸足
×
抽象
×
登って降りるメタファー
×
新しいもの
×
既存のもの
×
別物
×
創造
×
同じものは新しくない
×
経験
×
抽象化
×
モデル
→
抽象を軸足にした変換
→
抽象度
×
使える道具
×
使える範囲
×
抽象度の高い概念は応用範囲が広い
×
抽象概念は結合範囲が広い
→
抽象度を高めていくほど使える道具が減っていく
→
抽象化能力
×
目的
×
枝葉の切り方
×
思いもよらない切り口
×
言語化されてない体験の総体
×
体験の言語化
×
体験を抽象化して言葉にする
×
言語化は具体的体験の抽象化
×
類推
×
抽象
×
捨象
→
抽象化能力をLLMが代替できるか?
→
主語が大きい
×
語彙力
×
抽象度
×
発想支援
×
上位概念
×
人間のバグ
→
主語を大きくするプログラム
→
怒り
×
有害
×
抽象度
×
理想と現実
×
ギャップ
×
理想
×
渇望
×
欲
×
苦しみ
×
抽象度高すぎ
×
3種類の怒りと有益さ
×
ニーバーの祈り
→
変えられるものに対する怒り
→
鳥
×
広い視点
×
素早く動き回る
×
荷車
×
遅い
×
たくさんの荷物を運ぶ
×
抽象的思考
×
抽象度が高い
×
抽象概念は結合範囲が広い
×
抽象度
×
見ること
×
理解すること
×
進むべき方向を知る
×
先にある脅威に気づく
→
鳥と荷車
→
古典
×
抽象度
×
価値
×
変化しにくい
×
土台
×
劣化
×
ピラミッドの頂上を取ってきても期待と違う
×
古典と最新を追うのが反脆弱性ある戦略
×
時の試練を待つと先行者利益は得られない
×
「変わりにくい」ものを直接学ぶことはできない
×
pdcaと誤差逆伝搬
→
古典の劣化
→
「面白い」の探検ネット
×
幸せ
×
抽象概念
×
面白い
×
主観的
×
抽象的
×
網にかかる
×
抽象
→
抽象化するとみんな幸せになりたい
→
具体と抽象の結合
×
具体と抽象
×
結合
×
具体
×
抽象
→
具体と抽象の結合が重要
→
抽象度
×
抽象度が高すぎる
×
不適切な抽象化
×
年齢とともに抽象度が上がる
×
抽象度を落とすと正確性が失われるのか
→
抽象度高すぎ
→
年齢
×
抽象度
×
経験
×
圧縮
×
抽象化
×
認知の解像度
×
似た物が昔にもあった型思考
→
年齢とともに抽象度が上がる
→
metaphor
×
learning cycle
×
the_three_elements_correspond_to_three_dimensions
×
具体
×
concrete
×
体験
×
experience
×
情報収集
×
information_gathering
×
抽象
×
abstract
×
抽象化
×
abstraction
×
モデル化
×
modeling
×
パターンの発見
×
pattern_discovery
×
応用
×
application
×
実践
×
practice
×
検証
×
verification
×
(1.1.1)_information_gathering
×
(1.1.2)_modeling_and_abstraction
×
(1.1.3)_practice_and_verification
→
(1.1) The learning cycle
→
information_gathering
×
modeling
×
verification
×
具体
×
concrete
×
情報収集
×
体験
×
experience
×
抽象
×
abstract
×
抽象化
×
abstraction
×
モデル化
×
パターンの発見
×
pattern_discovery
×
応用
×
application
×
実践
×
practice
×
検証
×
(0.2.1)_collect_information_concretely
×
(0.2.2)_compare_and_find_patterns
×
(0.2.3)_practice_and_verification
×
learning cycle
→
(0.2) How to learn programming
→
抽象化
×
抽象
×
abstract
×
-化
×
to_make_or_become
→
CHUSHOKA
→
compare
×
抽象
×
象
×
対象
×
具象
×
印象
×
象徴
×
心象風景
×
抽
×
抽出
×
抽選
×
抽斗
×
tract
×
traho
×
ab-
×
todo
→
(1.4.1) Abstract
→
(0.2) How to learn programming
×
(1.1) The learning cycle
×
information_gathering
×
modeling
×
verification
×
具体
×
concrete
×
情報収集
×
体験
×
experience
×
抽象
×
abstract_2
×
抽象化
×
abstraction
×
モデル化
×
パターンの発見
×
pattern_discovery
×
応用
×
application
×
実践
×
practice
×
検証
×
cycle_of_learning
→
learning cycle
→
ブーメランジョーク
×
平均
×
傾向
×
抽象度
→
一部の事例の一般化
→
具体
×
抽象
×
細谷_功
×
エンジニアの知的生産術
×
抽象化
→
具体と抽象
"
Engineer's way of creating knowledge
" the English version of my book is now available on
[Engineer's way of creating knowledge]
(C)NISHIO Hirokazu / Converted from
[Scrapbox]
at
11/23/2025, 3:51:12 PM
[Edit]