Help us understand the problem. What is going on with this article?

StateパターンとStrategyパターンの違い

StateパターンとStrategyパターンの違い

はじめに

私の書く記事はざっくりをモットーとしています
自分はまず結論とか要点をパッと知って深堀したいからです
軽く知りたい人はおすすめです:smiley:

Strategyパターンとは

ざっくりといいますと、抽象インターフェースを利用して、実装部分を交換できるようにするパターンです
UMLはこちら
画像はWikiさんから
500px-StrategyPatternClassDiagram.svg.png

Stateパターンとは

これは覚えておかないといけない、絶対というレベルでしょうw
そのオブジェクトが持つ複数の状態をクラス化するパターンです

プレイヤーの立っているとき、走っているとき、攻撃の時とか一つにしないで分けましょうって考えです。
UMLはこちら
画像はWikiさんから
450px-State_Design_Pattern_UML_Class_Diagram.svg.png

UMLは同じ

やっていることがまあ同じなのでこのような形になります。

本題 StateパターンとStrategyパターンの違いとは

これがデザインパターンというものですね。ここを【どっちでもいいや】とやってしまいますと、良いプログラマーにはなれないと思います。

デザインパターンは考え方です。
StrategyパターンはAIの設計などに使い、Stateパターンは状態変化に使います。
あくまで考え方で、プログラムを作る際、この本質を理解して作ればベストです。

f_Mari
学生です、C++を勉強していく上でのメモや機能紹介のため使い始めました。 まだまだ勉強中なので投票内容に誤りなどでてしまいますかも... その時は教えていただけるととてもうれしいです! あまり参考にならないかもですが、よろしくお願いいたします! 
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした