私が現在取り組んでいる Web ベースのアプリケーションは、手足が伸びています。これは基本的に、ユーザーが予約、ユーザー アカウント、請求などを追跡するのに役立つ管理システムです。また、かなり粗雑な API を使用して、いくつかの異なる Web サイトからアクセスすることもできます。
ファット クライアントの設計は、php/MySQL バックエンド、フロント コントローラー、いくつかの異なるページ コントローラー、オブジェクト指向モデルと手続き型モデルのリベラルな分散、混乱を招く一連のビューとテンプレート、いくつかの MVC パターン (またはおそらく MVP) に大まかに従っています。 JavaScript、CSS ファイル、および Flash オブジェクト。
私のプログラマーは「懸念の分離」の原則の大ファンであり、その点については、現在、プロジェクトが成長し、より多くの人々がそれに貢献するにつれて、さまざまな懸念を分離および結合する最良の方法を見つけようとしています。 .
私たちが直面している問題は、通常、JavaScript (または ActionScript を使用した Flash) はテンプレートを使用して記述されているため、View の一部であり、Controller および Model から分離されているにもかかわらず、実際には MVC パターン全体が含まれていることがわかります... スワップonmouseover イベントのある画像 - それがビヘイビアです。データグリッドをレンダリングします - ビューを操作しています。AJAX を介してリストを並べ替えた結果を送信します。これで制御できます。フォーム フィールドをチェックして、電子メール アドレスが有効な形式であるかどうかを確認します。モデルを調べています。
データベース担当者に検証モデルを jQuery で作成させるのは賢明でしょうか? PHP プログラマーは、必要な制御構造を JavaScript で記述できますか? Web デザイナーは、自分のビュー用に機能する AJAX フォームを本当に作成できるのでしょうか? すべてのプロジェクトに JavaScript オーバーロードが必要ですか?
コードではなく人に MVC パターンを適用できるとしたら、次のようになります。
- モデル - データベース boffins - 「SELECT * FROM
mind
WHEREinterested
IS NULL」</li> - コントロール - 厄介なプログラマー - 「クラスの何かが NothingAbstractClass を拡張します{…}」</li>
- ビュー - 伝統的にグラフィック/ウェブ デザイナーのドメイン - 「」</li>
…そして新しいレイヤー:
- 動作 - インタラクションおよびフィードバック デザイナー - 「CSS3 は新しい黒です…」</li>
そのため、リファクタリングを行っており、ベスト プラクティスの設計に固執したいと考えていますが、どのように進めればよいかわかりません。私は車輪を再発明したくないので、どのパターンを見るべきか、またはすでに汚い仕事をした人からのコードサンプルについてのヒントやヒントを誰かが持っていますか? プログラマーとして、バックエンドとフロントエンドを分けたままアプリを書き直すにはどうすればよいでしょうか?
質問する前に、はい、私は Zend、CodeIgnitor、Symfony などを見てきましたが、いいえ、それらはサーバー ロジックとクライアント ロジックの境界を越えていないようです!