- ベストアンサー
ソースファイルの分け方について
新規登録処理するWebを作るには、 入力フォームと入力後の結果を表示する(これ具体的になんて言うのかなぁ)2つを 必要とすると思いますが、その2つの処理は別々のファイルに書いた方がいいのか それとも1つのファイルで「mode=entry_form」のような変数を使って 場合わけして纏めた方がいいのでしょうか? 新規登録だけじゃなく、もっと大きなプログラムの場合に 最適なソースファイルの分け方の規則のようなものはあるのでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
がると申します。エンジニアやってます。 んと…「入力画面->完了画面」の場合、私なら4つのクラスに分けます。 ・anyから入力画面を表示するクラス ・入力画面からの入力をチェックして以下のいずれかに振り分けるクラス -エラーがあるので、入力画面をもう一度表示するクラス(エラー表示込み) -問題ないので登録処理をして完了画面を表示するクラス ただ、この分け方は、MVCと呼ばれる概念と、action chanin(私のフレームワークですと再帰call)という実装があれば、になるのですが。 個人的には、ある程度ファイル数を数作って、各ファイル(== クラス)の処理をシンプルにする方が、メンテナンスは楽だと考えています。 わからないところなどあったら質問いただければ、可能な限り返信いたします。
その他の回答 (2)
- galluda
- ベストアンサー率35% (440/1242)
がるです。 んと…MVCは、後は http://www.m-fr.net/PESEF/on_the_way/ で、MVCではないところからMVCまでの進む過程が書いてあるので、あるいは参考になるかもしれません。 > >・入力画面からの入力をチェックして以下のいずれかに振り分けるクラス > というやつで、新規登録だけでなく、例えば、カートに商品を追加する処理があった場合 > このModel(class)にその場合の処理も追加するのか、それとも別にファイル(class)を > 用意して(shinki_checkクラス、cart_checkクラス)別々に記述するのでしょうか? 別々のクラスを用意して、ですね。 > もし追加する場合、そのModelの中で何かを基準として場合わけすると思うのですが、 > その部分がどのような処理になるのかが知りたいです。 大雑把にかくと「画面毎」で、正しくは「機能毎」になります。 とはいえ…この辺はいろいろな流儀があるのですが(苦笑 クラスは小さめに作ってこつこつ直すのが楽かなぁと個人的には思います。 以上何かの参考にでもなれば & また質問があったらお気軽に ^^
お礼
ご返答ありがとうございます。 MVCの使い方についていろいろ調べてたのですが 自分の頭ではまだ時間がかかりそうなので、 ここでは一旦締め切りたいと思います。 ただMVCの存在と細かく分けていくという方向性を知ることができたので とても為になりました。ありがとうございます。
- galluda
- ベストアンサー率35% (440/1242)
がるです。 > galludaさんの4つに分ける例だと、 > 4つのファイルにそれぞれ一つクラスが入っていますよね? > そのクラスのオブジェクトはどこで作って使うのでしょうか?(どのファイルで使うのでしょうか?) うい。多分質問されると思ってました(笑 んと…MVC、という概念を使うです。 簡単に書くと。 書いているそれぞれの4つのclassは、M(Model)に当たる部分で。 実際にこのクラスを使ってくれるのは、C(Controller)にあたる部分が勝手に呼び出してくれます。 で…このMVCという概念ですが。…そうですねぇ。 http://www.hyuki.com/yukiwiki/wiki.cgi?MVC http://ja.wikipedia.org/wiki/Model_View_Controller http://www.stackasterisk.jp/tech/php/phpMvc01_01.jsp http://www.jac-net.com/~tarzan/smalltalkers/mvc/mvc.html あたりを読んでみていただけると。 大雑把に書くと、フレームワークってのを使うと、大抵出てくる概念になります。 > それとこの新規登録だけに限れば、 > クラスを使うこと最大のメリットはなにになるのでしょうか? 「新規登録だけに限れば」というわけでもないのですが。 業務で作る場合、特に「保守/メンテナンス/仕様変更」がまま起きるのですが。 そういった際に「きちんと作られたクラス設計に基づく」のであれば、クラスで組んだほうが、修正が楽になります。 逆に、個人で一回作りきりだと、クラスで作る意味合いは大分下がるかもしれません。 なれてると「手早く作れる」のが利点ではあるのですが…これはなれるまで得られない利点なので(苦笑 以上何かの参考にでもなれば幸いです。
お礼
ご返答ありがとうございます。 自分なりにMVCについて理解しようとしたのですが、 なんとなくは理解できたのですが、、、たぶん・・・ >・入力画面からの入力をチェックして以下のいずれかに振り分けるクラス というやつで、新規登録だけでなく、例えば、カートに商品を追加する処理があった場合 このModel(class)にその場合の処理も追加するのか、それとも別にファイル(class)を 用意して(shinki_checkクラス、cart_checkクラス)別々に記述するのでしょうか? もし追加する場合、そのModelの中で何かを基準として場合わけすると思うのですが、 その部分がどのような処理になるのかが知りたいです。 本題とずれてきて申し訳ないのですが、もう少しよろしくお願いします。
お礼
ご返答ありがとうございます。 >個人的には、ある程度ファイル数を数作って、 >各ファイル(== クラス)の処理をシンプルにする方が、 >メンテナンスは楽だと考えています。 これでなんとなくですが方向性は分かりました。参考にしてみたいと思います。 1つ質問があるのですが、自分はクラスというものをほとんど理解してないのでとんちんかんな質問ですけど、 galludaさんの4つに分ける例だと、 4つのファイルにそれぞれ一つクラスが入っていますよね? そのクラスのオブジェクトはどこで作って使うのでしょうか?(どのファイルで使うのでしょうか?) それとこの新規登録だけに限れば、 クラスを使うこと最大のメリットはなにになるのでしょうか?