手始めに、パターンとは何ですか? 「sample」、「example」、「model」として翻訳できますが、「template」または「design template」という言葉が最も好きです。 パターンは、コードのコピー元のパターンではないためです。 これは従うべきサンプルコードです。 違いは、壁に掛かっているサンプルドキュメントとMS Word / OpenOffice Writerのドキュメントテンプレートの違いと同じです。MSWord / OpenOffice Writerは、統一フォーマット(インデント、フォント、段落フォーマット)に使用されます。
私自身の経験から少し。 13年のプログラミング経験。 (パターンに関する言葉ではなく)本に関する2年間の自習の後、私はいくつかの「カスタムメイド」アプリケーションを作成しましたが、そのうちの1つはまだ使用されています。 しかし、さらに2年後、私は次のことを考えました。
- まず、コードはあなた自身でも読めるものでなければなりません
- 第二に、コードでは、他の誰かが作業しなければならない可能性が非常に高い
- 住所のコレクションを呼び出す方法は? MailAccounts?
- メールアドレスの操作を担当するメソッドをどこに配置しますか?
- データベースで機能するメソッドをどこにまとめると、後で見つけやすくなりますか?
- オブジェクトへのアクセスを整理する最良の方法は何ですか?これはシステム内で唯一のものでなければなりませんか? public static final(const)フィールドを作成しますか? 公開静的メソッドを作成しますか?
- メソッドgetName(int id)、setName(int id)を使用してデータベースに簡単にアクセスできるようにします
- データベース内の各行に対してオブジェクトのインスタンスを選択します
- いくつかのメソッドparseLine、parseToken、parseString()に基づいて「ダム」パーサーを作成し、文字シーケンスを処理します
- 個々のキャラクター(onSemicolon()、onDot()、onQuote()など)で機能するパーサーを作成します
Model-View-Controllerなどの高レベルのテンプレートを検討したとしても、それらのアプリケーションはビジネスタスクに対する答えであってはなりません。 プログラマーは、彼の場合、システムの動作をディスプレイから分離できる必要があることを明確に認識している必要があります。 そして、このアイデアに来て、彼が少なくともほぼどのようにそれを行うか想像して、MVCテンプレートに注意を払ってください.MVCテンプレートは、どの部分をどのように書き、どのように命名し、どの機能を与えるかを正確に説明します。
デザインパターンの知識は、コードの記述に役立ちます。 単純なテンプレートの場合、他の人が理解しやすいようにコードを設計するのに役立ちます。 より複雑なパターンは、コードの構造化に役立ちます。 ただし、チェーン「タスク」-「解決方法」-「テンプレート」-「コード」は必須であり、「タスク」-「テンプレート」-「コード」ではありません。
更新:トピックを書き直し、問題の解決が終わり、パターンが始まる場所に焦点を当てました。 トピックを再発行するか、新しいトピックを作成するかはわかりません。 ハブレの行動パターンの無知のために多くを打ち負かさないための要求