00:00
-00:00

【雑談】ソフトウェアの結合の種類

6
Discord: ⁠ https://pinto-bagpipe-5b6.notion.site/Discord-3880d8895d33480aa00b5a32c140194b ## 悪い結合が3つある - **コンテント結合 (Content coupling):** 最も結合度が高い、最悪のパターンです。あるモジュールが別のモジュールの内部コードを直接利用したり、変更したりする状況を指します。これは情報隠蔽というソフトウェア設計の基本原則を完全に破壊する行為です。 - EnemyControllerとEnemyActionというものがある - EnemyControllerがEnemyActionの特定のAnimationの内容を直接変えだす。公開されてるインターフェースを使わずに。結果攻撃のアニメーションがぐちゃぐちゃになった - **共通結合 (Common coupling):** 複数のモジュールが同じグローバルデータにアクセスする状況です。変更が予期せぬ副作用やエラーの伝播を引き起こすリスクがあります。 - 例えばグローバル変数でシステムのモードみたいなのをEnumで持ってる - あらゆるサービスがそのシステムのモードを見て動きを変える - だれかが意図しないタイミングでシステムのモードを変えたら全然意味不明な動きをするようになった - **制御結合 (Control coupling):** あるモジュールが、別のモジュールに「何をすべきか」を指示する情報(例えば、処理を分岐させるフラグなど)を渡すことで、その制御フローをコントロールしている状態です。 - EnemyControllerクラスが、EnemyActionのフローを制御してる - 攻撃のEnemyActionクラスをコントローラーが制御する - コントローラーがなぜか - まず1s 剣を振りかぶる動作のメソッドを呼ぶ - 剣をふらせるメソッドを呼ぶ - その後2s硬直して後隙をうませる - この責務はEnemyAction側にあったほうがいい。コントローラーがやることで、攻撃の動作のロジックがコントローラーに染み出している
2日前
おすすめの放送
stand.fmの無料アプリでもっと便利に
Google Play Store
App Store
about stand.fm
放送が更新されたらプッシュでお知らせされるので最新の放送を聞き逃さない。
about stand.fm
バックグラウンド再生で他のアプリを使用しながら、放送やライブが聴ける。
about stand.fm
放送やライブ、コミュニティでコメントが送れて配信者とコミュニケーションができる。
about stand.fm
アプリだけでかんたんに音声を収録して投稿できて音声の編集もできる。
jasrac
JASRAC許諾番号
9024598002Y31016
9024598004Y31016
nextone
NexTone許諾番号
000006134
© 2025 stand.fm, Inc.