質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

MVC

MVC(Model View Controller)は、オブジェクト指向プログラミングにおけるモデル・ビュー・コントローラーの総称であり、ソフトフェア開発で使われている構築パターンとしても呼ばれます。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

設計相談

システムの設計についての相談や質問を投稿する際にご使用ください。

ドメイン駆動設計

ドメイン駆動設計(Domain-driven design, DDD)とは、ソフトウェアの設計手法、および設計思想や哲学のことです。ドメインモデル構築の際に、設計上の判断を決定する枠組みとドメイン設計に関して議論するボキャブラリを提供するものです。

意見交換

クローズ

2回答

1376閲覧

なぜフレームワークなどで、サーバーはステートレスなのに動的クラスを使うんですか?

sutefu23

総合スコア11

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

MVC

MVC(Model View Controller)は、オブジェクト指向プログラミングにおけるモデル・ビュー・コントローラーの総称であり、ソフトフェア開発で使われている構築パターンとしても呼ばれます。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

設計相談

システムの設計についての相談や質問を投稿する際にご使用ください。

ドメイン駆動設計

ドメイン駆動設計(Domain-driven design, DDD)とは、ソフトウェアの設計手法、および設計思想や哲学のことです。ドメインモデル構築の際に、設計上の判断を決定する枠組みとドメイン設計に関して議論するボキャブラリを提供するものです。

0グッド

1クリップ

投稿2023/03/09 07:03

0

1

テーマ、知りたいこと

なぜ特にMVCフレームワークなどで、サーバーはステートレスが原則なのに動的クラスを使うんでしょうか?

背景、状況

サーバーはステートレスで状態を持たないにもかかわらず、クラスになっているのか分からないです。
modelはstaticなのも多いですが、コントローラーやサービスクラスが動的なのはどうしてですか?
全部静的クラスでいいのではないでしょうか。
もしかしてDIなどをやる都合でしょうか?

オブジェクトが状態を保持していい事あるのでしょうか。

諸兄のご意見を伺いたく存じます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

回答2

#1

maisumakun

総合スコア145930

投稿2023/03/09 07:08

サーバーはステートレスで状態を持たないにもかかわらず

理論的にはそうなのですが、現実のWebサービスではCookieなどでセッション管理を実現しています。

それを逐一「このCookieにこのデータが対応している」とハンドリングするのも煩雑となるので、セッション管理をフレームワークサイドで行い、ステートフルな環境を作り出した上でプログラミングしていく例が多いです。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#2

退会済みユーザー

退会済みユーザー

総合スコア0

投稿2023/03/09 07:43

動的/静的と言ってる意味がよくわかりませんが、フレームなのでポリモーフィズム的な柔軟性が設計上必要ってだけでは?
普通のWebアプリ/サービスはコントローラーだと同じ役割を持つインスタンスは1つにするものだと思います。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

最新の回答から1ヶ月経過したため この意見交換はクローズされました

意見をやりとりしたい話題がある場合は質問してみましょう!

質問する

関連した質問