開発者の啓示

フレームワークでWebサイトを開発する過程で、MVCを常に扱っています。 また、新しいプロジェクトを開始するたびに、開発者は以前のプロジェクトよりも改善し、蓄積したすべての開発経験を新しいリリースに適用したいと考えています。 開発者は、ファッションに最も一貫性のある他のフレームワークをマスターしようとすることがあります。 それどころか、より保守的な見方を堅持して、彼らは使い慣れたフレームワークを「使用」しようとします。 いずれにしても、開発者は独自のライブラリ、モジュールを作成するか、既製のソリューションを実装する必要があります。 結論はすぐに「フレームワークを追いかける特別な理由はありません」と懇願します。



すべての適切な開発者は、彼のプロジェクトが死なず、「名前のない」ホスティング上のクラウドのRAIDアレイで埃っぽくならないことを深く望んでいます。 しかし、原則として、開発者自身は将来、完成したプロジェクトのサポートに関与することを望みません。特に、彼の潜在能力が新しい興味深いプロジェクトの開発に向けられている場合はなおさらです。 しかし、プロジェクトの運用後にプロジェクトをサポートおよび開発することが主なタスクである開発者の別のカテゴリがあり、これらの専門家はプロジェクトが運用される前に開発プロセスに常に直接関与していませんでした。 したがって、最後の結論を続けます。「...、開発者の高度なコミュニティまたはZendなどの「豊かな父親」と一緒に、よく文書化された人気のあるフレームワークを選ぶだけで十分です。」



ただし、さまざまなライブラリとテクノロジーを適切に使用する必要があることを忘れないでください。 しかし、最も重要なことは、開発への適切なアプローチを選択することです。 現在、おそらく、どの開発者も、最新のWebプロジェクトで「開発イメージ」を使用する必要性全体を理解しています。 おそらく、誰かが意見を異にし、「デザインパターン」やOOPの使用もパフォーマンスの点で冗長すぎて、プロセッサリソースとメモリリソースが最適に使用されておらず、特にWebにとって「クール」すぎると主張するでしょう。その後、コードはインタープリターによって処理されるため、コードのデバッグプロセスが複雑になります。 ある程度、これはすべてそうです。 しかし、実際に示されているように、プロセッサリソースの不足の問題は、たとえばFacebookなどの膨大なトラフィックを伴う大規模なWebプロジェクトに関しては、通常最後の場所にあります。 言うまでもなく「高負荷」の条件下では、World Wide Webのユーザーから継続的に受信されるデータベースクエリの「ストーム」のおかげで、主な問題は1秒間にハードドライブのスピンドルモーターの回転数に減少します。 ご存知のように、負荷の高いプロジェクトでは、プロジェクトデータベースを1つ以上のデータセンターの複数のクラスターに水平スケーリングする必要があります。 RAMのリソースは、データをキャッシュするためにほぼ完全に消費されます。 結論は次のとおりです。「Webプロジェクトの開発の柔軟性と、デザインパターンの使用によって保証されるさらなるサポートを節約すべきではありません。」



Webプロジェクトのオブジェクトモデルを作成するときに使用しないことをお勧めします。多重継承を避けます。これはクールとはほど遠いもので、まったく柔軟性がありません。

多重継承の欠点: 想像してみてください:各クラスがアルファベットの特定の文字の派生を担当する場合、継承の条件の下で、それぞれ異なるフレーズを作成するには、その構成のアルファベットの文字のすべてのクラスを継承する別個のクラスを作成する必要があります。 結果はクラスの海であり、これはあまり柔軟ではありません。 継承に柔軟性がない場合、どのように置き換えることができますか? 答え:継承。 しかし、継承はクラスの継承ではなく、異なるクラスのオブジェクトの継承であり、これはオブジェクト指向設計の基本法則によって述べられています。 「異なる」-完全に異なるわけではなく、これらのオブジェクトはすべて1つのインターフェースを実装します。 このアプローチは「複合」パターンによって実装され、クラス継承のすべての欠点をカバーしますが、継承コンポーネントを動的に追加/削除し、「ノードからノード」に移動し、動作を動的に変更し、新しいプロパティを追加する機能を追加します。 コンポジションの唯一の欠点は、デバッグが難しいことです。 フレームワークがそのような機会を提供しない場合、ビューを構築するときにコンポジットパターンを適用することをお勧めします。コンポジットビューを実装することは難しくありません。



All Articles