2

私はプログラミングについて十分に知っていたので、約 10 年間トラブルに巻き込まれました。私は正式な教育を受けていませんが、さまざまな言語でこのテーマに関する本をたくさん読んできました。私が現在主に取り組んでいる言語は、少なくとも私が現在行っていることの規模からすれば、PHP です。

私はしばらくの間、いくつかの OOP クラスを使用してきましたが、舞台裏の原則を理解するために飛び込むことはありませんでした。私はまだ表現に関して自分が望むレベルには達していませんが、最近The OOP Thought Processという本を読んだことで、プログラミング スキルを向上させたいと思うようになりました。

新しいコンセプトからのモチベーションで、私は新しいプロジェクトを開始しました。ユーザー認証、ユーザー プロファイル、データベース インターフェース、およびほとんどのプロジェクトで定期的に使用するその他のものを処理する再利用可能なクラスをいくつかコーディングしました。

私の典型的な文字化けしたスパゲッティボウルのコードの混乱を幾分整理されたファイルに分割したので、ファイルが必要なときにすべて含まれていることを確認すること、スクリプトをクラスに論理的に分割する方法について、いくつかの問題を抱えていました。そして、各クラスをどのように分割する必要があるか。

私が本当に求めているのは、コードの特定の機能や形式ではなく、単なる趣味のプロジェクトよりも大きなプロジェクトの論理的なレイアウトに焦点を当てたアドバイスまたは提案された読書です。

物事を正しく行う方法を学びたいのですが、まだいくつかの分野で学んでいますが、これは創造的で試行錯誤する以外に手がかりがありません. ほとんどのエラー。

返信ありがとうございます。この場所は素晴らしいです。

4

1 に答える 1

0

私はここで以前のプロジェクトからの私の経験を表現しようとします、多分彼らはあなたを助けるでしょう。

プロジェクトをセグメント化する場合は、それ自体として役立つ可能性のあるコンポーネントを見つけてください。たとえばデータベースレイヤーを作成する場合は、データベースレイヤーをアプリケーションの他の部分(ユーティリティクラスと構成を除く)から独立させるために何をすべきかを考えてください。データベースレイヤーにアクセスするリッチクライアントを作成する場合は、Webレイヤーからアクセスするときにも必要となるものを正確に配置するようにしてください。これで、コマンドラインクライアントでも役立つコンポーネントができました。

または、これを下位レベルから見たい場合は、アプリケーションを小さなユニットに分割し、これらのユニットに循環依存関係を持たせないでください。!! 2つのコンポーネントに循環依存がある場合、それらを分割することはできず、実際には単一のコンポーネントである必要があります。常にこのルールを守ることができないため、このルールを破ったことがありますが、アプリの構成要素を理解することは良いルールです。

アプリケーションのもう1つの一般的な分割ルールは、Model-View-Control Pattern(MVC)です。これは、モデル(データクラス)、コントロール(プログラムのロジック)、およびビュー(グラフィカルユーザーインターフェイス)が個別のパッケージに分割します。私はこれを守りながら、コードをこのように分割します。各パッケージ内には、個別のモデル、ビュー、およびコントロールクラスがありますが、モデルクラスはコントロールレイヤーについて何も知りません。また、コントロールレイヤーはGUIについて何も知りません。

GUIの開発は常に面倒であり、したがって、アプリケーションのテストが最も少ない部分(少なくとも単体テスト)であることが多いため、GUIをコントロールから分割すると、ビジネスロジックの記述がはるかに簡単になります。実際、それはあなたがあなたがしなければならないことに集中することを可能にします、それはあなたがビジネスロジックでコーディングする仕事を成し遂げることです。この部分が機能する場合は、そのための優れたGUIを作成するために時間を費やすことができます。もちろん、GUIと使いやすさは、多くの場合、独自の要件を制御にもたらしますが、少なくともその緩く結合されています。

私の現在の大規模なプロジェクトでは、いくつかのビットコンポーネントがあります。これらは現在、独立した製品と見なされており、実際の製品で使用されています。これにより、担当者は独立したコンポーネントのテストと作成が容易になり、すべての人がより安定したコンポーネントを利用できるようになります。

ちょうど私の2¢。

于 2011-01-17T21:32:36.033 に答える