問題タブ [template-method-pattern]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - テンプレート メソッド パターンを使用する場合
こんにちは、さまざまなデータ セットに対して同様の手順/アクション (わずかに異なる) を実行する必要があるという問題があります (データは構造に関してもわずかに異なる場合があります)。実行する必要があるいくつかの手順があります。接続、検証、必要に応じてエラーメッセージを作成し、データの構造を設定された形式に変更して結果を出力します。
私はこれに非常にうまく適合するように見えるテンプレート メソッド パターンを見ていました。
新しいデータ セットを簡単にシステムに追加でき、システムに大きな影響を与えずにエラー レポートを変更できるような設計を目指しています。
私はphpを使用しています。
design-patterns - プライベートメソッドパターンのプライベートオーバーライド?(回答:NVI)
仮想的にのみ、およびベース内の他のメソッドから呼び出されることを意図したメソッドを説明するために受け入れられている専門用語(ある場合)は何ですか?これがコールバックと呼ばれるのを時々見ましたが、それはその用語の元の定義からかなり外れているようです。これがパターンと呼ばれるメリットがあるかどうかさえわかりませんが、コードのコメントをより正確にしようとしています。助けてくれてありがとう!
概要:これは、テンプレートメソッドパターンの特殊なケースである非仮想インターフェイスパターンと呼ばれているようです。助けてくれたニックとスティーブンに感謝します!
java - 3 パターンの Java クライアント/サーバー アプリケーション
私は大学生で、月末までに次のタスクを完了する必要があります...ハリウッドの原則、ファサードパターン、テンプレートメソッドパターンの 3 つのパターンを実装する Java でクライアント/サーバーアプリケーションを作成する必要があります...少なくとも3 ~ 4 個のドメイン オブジェクトが必要です... データベースは MS Access である必要があります (わかっています、わかっています...) ? 図書館アプリを作ろうと思っていました。ドメイン オブジェクトに何を使用し、どのように開始するのか興味があります...
c++ - 純粋な抽象ベースからの typedef 継承
編集:重複が見つかりました
以下を説明するために、いくつかの問題コードを最も単純な動作ケースに絞り込みました: 純粋な抽象基本クラスの typedef が派生クラスによって継承されていません。system_t
以下のコードでは、 typedef をに継承したいと思いConcreteTemplateMethod
ます。
このコードは、期待どおりにコンパイルおよび実行されます。以下は必須であり、ConcreteTemplateMethod
削除するとコンパイラ エラーが発生します。
ただし、system_t
型は基本クラスで既にtypedef
'ed' になっていることに注意してください。継承時に別の typedef を含める必要があるのはなぜですか?
を使用system_t
して派生の型名を修飾できることはわかっていますが、それは少し冗長であり、継承して同じ を使用する必要があるたびにベースに戻す必要がないようにしたいと考えています。base で定義できるこれを回避する方法はありますか?ConcreteTemplateMethod
typename TemplateMethod< Analyzer<T> >::system_t&
typedef
system_t
TemplateMethod
c++ - C++ のテンプレート メソッド パターンと長いパラメーター リスト
前回の質問に対する有益な回答を得た後、さまざまなオプションを持つクラスのテンプレート メソッド パターンを使い始めました。それらをすべて実装することなく、そのクラスのオブジェクトに対する現在の宣言は次のようになります。
長いテンプレート パラメータ リストをどのように処理しますか? true/false や数値の代わりに列挙型/定義を使用する必要がありますか? 一般的に使用される代替手段はありますか?
javascript - javascriptのテンプレートメソッド
javascriptで、テンプレートメソッドパターンを実装したいと思います。
OpenButtonDecorator、SeeButtonDecoratorなどのサブクラスを持つPropertyDecoratorがあります。プロパティデコレータに次の関数が必要です。
このシナリオを機能させるにはどうすればよいですか?たぶん私は間違った継承を実装しました:S(それも助けてください:))
前もって感謝します。
design-patterns - ストラテジー、ビジター、テンプレート メソッドのパターンの違いは何ですか?
私は、これらの設計パターンについて学んだばかりのクラスにいます。しかし、それらの間に違いは見られませんでした。それらは同じように聞こえ、抽象的なクラスの上に具体的なクラスを作成します。誰かがこの疑いを消すのを手伝ってくれませんか? ありがとう (:
objective-c - Object C を使用したココアの「テンプレート メソッド パターン」とは何ですか? (言語比較思考)
ここにテンプレートメソッド patternがあり、Java と C++ は仮想関数を使用して簡単に実装できます。このパターンを実装するオブジェクト C はどうですか? ココアタッチ(iOS)の例はありますか?
design-patterns - ビルダーパターンとテンプレートメソッドの違い(ビルダーとテンプレート)
テンプレートパターンは、派生クラスでステップを変更できる基本クラスのアルゴリズムを提供します。Builderパターンでは、concrete Builderは、Directorクラスから呼び出される製品を構築するためのメソッドを公開します。
これらのパターンを使用する目的には違いがあることを理解しています。テンプレートパターンは、テンプレート内の1つ以上のステップを変更する動作パターンですが、ビルダーパターンは作成パターンです。
上記の違いとは別に、他に違いはありますか?
テンプレートパターンのベーステンプレートとして機能するビルダーパターンのディレクターではありません。具体的なビルダーは、代替可能なステップを使用して、テンプレートパターンの派生クラスのように動作していますか?
誰かが明確にしてください。ありがとうございました。
java - 実装固有のパラメータタイプを持つテンプレートメソッドパターン
テンプレートメソッドパターンを使用したいときによくある状況になりますが、テンプレートメソッドは次のような別のタイプのパラメーターを想定しています。
これはよく見えません。提供されるパラメーターの1つはヌルである必要があり、すべてのサービスは他のタイプのダミーのdoProcessメソッドを実装する必要があります。これに適したパターンはありますか?これにどのように対処しますか?これらのサービスはSpringBeanであるため、コンストラクターは使用しません。同じ問題がストラテジーパターンにも当てはまります。