直交性とは影響を与えない設計方法|Orthogonality
記事更新日:2024-01-19
Orthogonality
– 直交性 –
垂直で交わらない
– 直交性 –
垂直で交わらない
垂直な線は、どこまでいっても交わらない
コンポーネントを独立させよう
Orthogonalityなコンポーネントにする
Orthogonalityにするための特徴
一つで独立して、自己完結できる
独立すると、他人からの影響を排除できる
– Eliminate Effects –
影響を排除する – Eliminate Effects Between Unrelated Things –
Orthogonalityの2つのメリット – two major benefits –
他人の影響がないと、仕事がはかどる
- increased productivity
- 生産性が増える
- reduced risk
- リスクが減る
1.生産性の向上
- It is easier to write relatively small, self-contained components than a single large block of code.
- 一つの大型ブロックよりも、小さな自己完結型を書くほうが簡単
- An orthogonal approach also promotes reuse.
- 再利用が促進できる
- You get more functionality per unit effort by combining orthogonal components.
- 直交コンポーネントの組み合わせで、さらに機能が作れる
書くのが簡単で、再利用できて、組み合わせもできる
即効の改善ができる
– an immediate improvement –
2.リスクの低減
- When components are isolated from one another, you know that you can change one without having to worry about the rest.
- 互いに分離されている場合、互いを心配せずに変更できる
- you can be confident that you won’t cause problems that ripple through the entire system.
- システム全体への波紋は広がらないという自信が持てる
何も心配しなくていい
これぞ、強力な味方
– a powerful way –
直交システムを設計する – orthogonal systems –
階層化 – layered –
layer は、「層に分かれている」という意味
たとえば皮膚なら、表皮・真皮・皮下組織の3つの層に分かれている
- 階層化
- 小さな部品に分けること
- 各部品は、独自の機能を持ち、他の部品と独立して動作できる
コンポーネントは、それぞれの層の中に配置される
抽象化レベル – a level of abstraction –
たとえば、「110円」が具体的な支払金額、
「本体価格 + 消費税」の式が抽象化
- 抽象化レベル
- 具体的な詳細を隠す度合い
- 抽象化レベルが高いほど、見た目はシンプル
コンポーネントは、抽象化レベルを提供する
自分の役割だけを提供し、他人の仕事には口出さない
だから設計は難しい
絶え間ないプロセス
– It’s a Continuous Process –
Orthogonality – 直交性 –
他人との関係は垂直に
影響は仕事の邪魔
他人との関係は垂直に
影響は仕事の邪魔
2024-01-19
編集後記:
この記事の内容がベストではないかもしれません。