LoginSignup
1
0

【Unity】interface を作成すると開発の順序が変わる?

Last updated at Posted at 2024-04-15

皆さんは interface が
最も優れている点は何だと思いますか?

やはりポリモーフィズムでしょうか?

敵の AI を実装する時に
ポリモーフィズムを活用して
敵に様々な思考ルーチンを
持たせることができるのは便利で仕方ないと思います。

それとも疎結合についてでしょうか?

保守管理に優れた
大変良い一面であると私は思います。
ポリモーフィズムより優れた点ではないでしょうか?

しかしながら私は
「作業を後回しにできる事」
を推したいと思います。

後回しにした作業は
他の人に簡単に回すことができるため
システムエンジニアがプログラマに
「この interface を実装しておいて」
と指示するのもこれに属するものとします。

共同開発が楽になっていいですね。

という事で今回は
「interface を作成すると開発の順序が変わる?」
について紹介したいと思います。

「開発の順序が変わる」
とはどういう事でしょうか?

有名な話の可能性が高いですが
この話をしたいと思います。


結論から述べると

interface を作成すると
中の処理を後回しにして
先に全体の流れを作る事ができるため
開発の順序が変わる可能性があります。

全体の流れを先に作成した後は
仮の動きを各 interface に当てはめて
後で本格的に実装する事になります。

interface を使用した場合は

・全体を作成
・各 interface に仮の動きを作成
・各 interface を本格実装

の流れになるのです。

interface を使用しない場合は
一から順番に作成することになるため
使う場合と使わない場合で
開発の順序が変わるのです。

例えばカードゲーム作成が
例として分かりやすいかもしれません。

1 プレイヤーの行動が
フェイズ 1 からフェイズ 5 に
分かれているとして

各フェイズの
interface を作成するとします。

その後プレイヤーの移動など全体の流れを作成したら
各フェイズに "何もしない" 処理を
仮置きする作業が始まります。

仮置きが完了したら
フェイズ 3 の実装が完了した人は
仮置きした処理と差し替えるだけで
結合することができます。

こういった「作業の後回し」ができる点こそが
interface が最も優れている点だと
私は思うのです。


以上 interface と開発順序の
関係について話してみました。

interface を日頃使う人からしてみたら
全く価値のない記事かもしれませんが
使わない人が interface について
興味を持って頂けたならばとても嬉しいです。

閲覧ありがとうございました。

※私の開発は Unity がメインなので
タイトルに Unity を付けております。
もしかしたら Unity 以外では
当てはまらない可能性があるため
注意して下さい。

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