1
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?

設計とは分割と結合である

Posted at

Sierでバックエンドの開発をしている2年目エンジニアです。
先日参加した勉強会で、個人的に頭にズドーンときた言葉があります。

「設計とは分割と結合である」

この言葉は、クラス設計やマイクロサービスの概念に通じるものがあります。

クラス設計では、クラスをどのように分け、関連づけるかが肝。
マイクロサービスでは、アプリケーションを複数の独立したコンポーネントに分割し、それらを効果的に連携させることが肝。

良い設計とは、
適切な分割と結合をできていることだと思う。
でも、「適切」って、具体的にはどういうことだろう?

これを掘り下げるために、中学数学に時を戻してみる。

たとえば、99²の計算。
99²をそのまま計算しようとすると大変で、僕の脳みそだと計算ミスする可能性が高い。

でも、99を100と-1に分割すると、以下のように簡単に計算できる。
(100-1)² = 100² -200 + 1 = 9801

分割した分、結合箇所(演算子)は増える。
それでも分割した方が計算が楽になる。

これって、適切な分割がどれだけ大事かってことを示してる例だと思う。
不適切な分割とは、99を50と49に分けるような行為で、全然計算が楽にならない。

そう考えると、計算を工夫するのも、いわば設計のうちだと言えそう。

エンジニアに数学的な思考力が求められるのは、この分割と結合の考え方を学んでいるからなんだなって、ちょっと納得しました。

1
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
1
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?