私はlisternerというデザインパターンを学習しています。誰でも私とこのパターンの例を共有することができます。 JWTのようなGUIに関連するものは何も必要ありません。誰も私とlisternerパターンの例を共有することができます
答えて
リスナーパターンはObserverに非常に近いです。基本的には、他のオブジェクトがオブジェクトを「聴く」ことを許可するだけです。したがって、これらのリスナーのリストを維持し、必要に応じて通知する必要があります。このような
何か:
public class MyClass {
public static interface Listener {
public void onNotify();
}
private List<Listener> listeners = new ArrayList<Listener>();
// addListener and removeListener methods omitted.
public void doSomething() {
// do something that listeners should be notified of.
// notify listeners like this:
for (Listener l : listeners) {
l.onNotify();
}
}
}
はそれが理にかなって願っています:)
興味深い - 私はJavaのnoobです。これを「外部」インターフェイスで行い、リスナーオブジェクトでそのインターフェイスを実装しました...いくつかの型キャストがaddListenerメソッドで行われているとしますか?これはきれいだと思う:) –
いいえ、あなたはどんな種類の型キャストも必要ありません。しかし、インターフェースの名前を完全修飾する必要があります。これはMyClass.Listenerになります。 –
ここでは、Javaのパターンの使用例は、
...あなたが特定の何かを求めていないことから、ですpublic class MyButton extends JButton implements ActionListener {
public MyButton() {
addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent e) {
// omgwtfbbqroflolkthxbai
}
}
リスナーパターンは実際にはギャングオブフォーにはありませんlistデザインパターン。しかし、リスナパターンはオブザーバパターンを見る別の方法です。このWikipedia articleには、Javaで書かれたオブザーバーパターンソリューションの良い例が含まれています。
- 1. 誰も私にTTMessageControllerの良い例を送ることができます
- 2. jQuery - 誰でも私を助けることができます...?
- 3. サンプルの.lldbinitファイルを誰も共有できますか?
- 4. 私のシングルトンは誰が見ることができますか?
- 5. 例外はjava.awt.AWTError「メイン」:BoxLayoutを共有することはできません
- 6. は、誰もが、誰もがAES 128</p> <p>のための初期化ベクトルのパターンを提案することができますAES 128
- 7. 誰でもこのプログラムをVBScriptで閉じることができますか?
- 8. 誰でもこのユースケースの問題を見ることができます
- 9. ヘルプ - ときトレースメッセージがすべき誰も私にそれを説明することができれば、AspectJの
- 10. QTPで共有チェックポイントを持つことができます
- 11. 誰でもこのhasNextLine()エラーを助けることができますか?
- 12. 誰もこのMySQLユーザログインでエラーを見ることができますか?
- 13. 誰でもこのMagentoエラーを助けることができますか?
- 14. 誰かがこのエラーで私を助けることができますか?
- 15. 誰もがこの方法で黒板パターンを使用することを考えていますか?
- 16. 誰かがsize_t型を例として使用する理由を誰でも説明できますか?
- 17. 共有ボタンを並べることができません!
- 18. は誰も私を助けることができるのSharePoint画像ライブラリ
- 19. vb.net TWAINプロジェクトは、誰も私を助けることができるのPictureBox
- 20. 誰もが "視野"を説明することができます
- 21. 誰もこの正規表現の意味を私に説明することができます
- 22. gSOAP GETメソッドの実装のために、誰でも私のサンプルコードをC++で共有できますか?
- 23. vb 6.0誰も私のコードで私を助けることができますか?
- 24. 誰もこのjQueryセレクタを打つことができますか?
- 25. Android:ユーザーがこのリンクをクリックすると、リンクを共有してアクティビティを開くことができます
- 26. Googleのコードは私より高いです - 誰でもJavascript n00bを助けることができますか?
- 27. Facebookのトークンをクライアントと共有することはできますか?
- 28. 誰も私にこのコードを説明できますか?
- 29. 誰も私にこのコードを説明できますか?
- 30. DATEADD(MONTH、DATEEDF(MONTH、0、GETDATE())、0)誰かが私にこのことを説明することができます
[この投稿](http://ayp-sd.blogspot.com/2013/01/observer-design-pattern-in-java.html)では、リスナー(Observer)の実装を構築する方法を説明しています。 )デザインパターンを使用しています。 –