設計をする理由
- 設計作業はプログラミングにおいて普遍的なもの
- 設計とは何をどうやって作るのかを決定する作業
- 設計することで作るものの全体像が可視化される
- 規模感の共有。プライオリティが分かる。問題の予測と洗い出し。
Unityにおける「設計レベル」を定義してみた
Unityにおける「設計レベル」を定義してみた - Qiita
- まとめ
- Unityでは様々な開発スタイルがあり、作るプロダクトの性質や開発組織によってバラバラ
- 小規模・短期開発においては高すぎる設計レベルは逆に手間を増やすだけでメリットが享受できない場合もある
- 設計レベルを上げすぎるとパフォーマンスチューニングが難しくなる
- チームメンバーがついていけないということも起きうる
- プログラムの設計の度合いも状況によってバラバラ
設計レベルの定義
クラス図(UMLの一種)
概要
- システムを構成する要素や関係性を表現した図
- それぞれのクラスにある情報や、クラス同士の関係性を表現しているのがクラス図
- システムの動きをモデル化してコーディングを助けること
- UMLは全て使いこなすというよりは、目的に応じて表現方法を選ぶのがベスト
- 書き方にこだわるあまり自分で分かりにくくなってしまうのはNG
- ここだけに時間を使ってしまうのはもったいない
- UMLの中ではクラス図やユースケース図あたりはよく使うかもしれません。
- ゲームだとユーザーの操作を考慮する必要があるのでユーザの操作に対するアクションを明確にするユースケース図が便利
UML図の例
クラス設計
- クラスの関係をモデリングすること
- デザインパターン
- プログラムにおける設計の定石
- 設計作業の指針にできる
- デザインパターンも柔軟性を持って利用
- GoFデザインパターン(23個の汎用パターン)が特に有名
- とりすーぷ的よく使うデザインパターン
メリット
- 視覚的に表現による共有の容易化
- システムのデータモデルを図式化
- 全体的な概要について理解が深まる