インターフェイスとジェネリックを使用してJavaでボタンを描画する

60本の木

Javaプロジェクトには、「編集」ボタンを描画するメソッドが含まれています。ここでインターフェースを使用する利点を説明していただけますか?より単純なものではできないことを、インターフェースでできることは何JBotton button = new JButton();ですか?

private ValueObject<?> getButtonValueObject() {
        ValueObject<?> buttonValue = new MutableValueObject<Object>() {
            private String title = "Edit"; 

            @Override
            public Object getValue() {
                return new AbstractAction(title) {   
                    public void actionPerformed(ActionEvent e) {
                        final JDialog dialog = new JDialog();
                        dialog.setTitle("Values");
                        dialog.setLayout(new BorderLayout());                        
                        JPanel panel = new JPanel();
                        dialog.add(panel, BorderLayout.NORTH);
                        .......

                        dialog.setVisible(true);
                    }

                    @Override
                    public String toString() {
                        return title;
                    }
                };
            }
        };
        return buttonValue;
    }


//ValueObject.java
public interface ValueObject<T> {
    T getValue();
}
ハッシュ

このコードには多くの問題があり、問題を複雑にしすぎていることは言うまでもありません。KISS呼ばれるプリンシパルがあり、この種のコードはそれに直結します。

いくつかの問題の詳細:

  • (投稿されたコードで)カスタムを使用しないプライベートメソッドの抽象化。
  • 匿名(内部)クラスの使用は推奨されません。ここにいくつかの読み。

追加の悪い習慣:

  • プライベートである必要がありますStringtitle = "編集"; 変更可能ですか?いいえ->なぜ静的ファイナルではないのですか?
  • dialog.setTitle( "Values"); 配線された文字列が含まれています。
  • 名前は、「ValueObject」、「MutableValueObject」の目的を示すものではありません。

TL.DR:ジェネリックの良い例ではありません。人間が読めるように、ソースコードをシンプルに保つようにしてください。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

子ジェネリックインターフェイスを使用してジェネリックインターフェイスを実装する方法

分類Dev

リストとインターフェースでジェネリックを使用するJava

分類Dev

Java-ジェネリックスを使用して流暢なインターフェースを作成する

分類Dev

インターフェイスでジェネリックを使用する

分類Dev

インターフェイスでジェネリックを使用する方法

分類Dev

ジェネリックプロトコルをインターフェースとして使用する

分類Dev

constのジェネリックをインターフェースとして使用する

分類Dev

ジェネリックを介してJavaでジェネリックインターフェイスを作成する

分類Dev

インターフェイスをジェネリックとして使用して変数を宣言するにはどうすればよいですか

分類Dev

別のインターフェイスを使用して、インターフェイスからジェネリックメソッドを実装する

分類Dev

別のインターフェイスを使用して、インターフェイスからジェネリックメソッドを実装する

分類Dev

Javaジェネリックを使用してクラスをインターフェース/抽象化するコンストラクター

分類Dev

Javaのメソッド引数としてジェネリックインターフェイスを使用する

分類Dev

Javaジェネリック:ジェネリックインターフェイスでジェネリッククラスのIDを取得する方法は?

分類Dev

ジェネリックオブジェクトでインターフェイスを使用する方法は?

分類Dev

特定のタイプなしでジェネリックインターフェイスを使用しますか?

分類Dev

インターフェイスをC#ジェネリック型制約として使用するにはどうすればよいですか?

分類Dev

ジェネリックラッパーインターフェイスタイプをどのように定義し、それをJavaのメソッド戻りタイプとして使用するのですか?

分類Dev

C#でMicrosoft Fakesを使用して、インターフェイスでジェネリックメソッド定義をスタブアウトする方法

分類Dev

Javaでジェネリックオブジェクトを作成する方法は、インターフェースを実装しています

分類Dev

ジェネリックパラメーターとして列挙値を使用してインターフェースを実装する

分類Dev

ジェネリックインターフェイスを備えたpropインターフェイスとして子インターフェイスを使用する

分類Dev

Javaジェネリックス:JavaでFunctorインターフェースをエンコードする方法?

分類Dev

Typescript:インターフェースで `this`を使用してジェネリックで` extends`を使用しようとしています

分類Dev

Javaでジェネリックスを使用してファクトリパターンを実装する方法

分類Dev

インターフェイスでジェネリックコレクションを使用する

分類Dev

ジェネリッククラスでインターフェイスを拡張するときのNoSuchFieldError

分類Dev

ジェネリックメソッドを使用してインターフェイスでType.GetRuntimeMethodを呼び出すと、nullが返されます

分類Dev

ジェネリックスを使用してインターフェイスタイプをクラスにマップする

Related 関連記事

  1. 1

    子ジェネリックインターフェイスを使用してジェネリックインターフェイスを実装する方法

  2. 2

    リストとインターフェースでジェネリックを使用するJava

  3. 3

    Java-ジェネリックスを使用して流暢なインターフェースを作成する

  4. 4

    インターフェイスでジェネリックを使用する

  5. 5

    インターフェイスでジェネリックを使用する方法

  6. 6

    ジェネリックプロトコルをインターフェースとして使用する

  7. 7

    constのジェネリックをインターフェースとして使用する

  8. 8

    ジェネリックを介してJavaでジェネリックインターフェイスを作成する

  9. 9

    インターフェイスをジェネリックとして使用して変数を宣言するにはどうすればよいですか

  10. 10

    別のインターフェイスを使用して、インターフェイスからジェネリックメソッドを実装する

  11. 11

    別のインターフェイスを使用して、インターフェイスからジェネリックメソッドを実装する

  12. 12

    Javaジェネリックを使用してクラスをインターフェース/抽象化するコンストラクター

  13. 13

    Javaのメソッド引数としてジェネリックインターフェイスを使用する

  14. 14

    Javaジェネリック:ジェネリックインターフェイスでジェネリッククラスのIDを取得する方法は?

  15. 15

    ジェネリックオブジェクトでインターフェイスを使用する方法は?

  16. 16

    特定のタイプなしでジェネリックインターフェイスを使用しますか?

  17. 17

    インターフェイスをC#ジェネリック型制約として使用するにはどうすればよいですか?

  18. 18

    ジェネリックラッパーインターフェイスタイプをどのように定義し、それをJavaのメソッド戻りタイプとして使用するのですか?

  19. 19

    C#でMicrosoft Fakesを使用して、インターフェイスでジェネリックメソッド定義をスタブアウトする方法

  20. 20

    Javaでジェネリックオブジェクトを作成する方法は、インターフェースを実装しています

  21. 21

    ジェネリックパラメーターとして列挙値を使用してインターフェースを実装する

  22. 22

    ジェネリックインターフェイスを備えたpropインターフェイスとして子インターフェイスを使用する

  23. 23

    Javaジェネリックス:JavaでFunctorインターフェースをエンコードする方法?

  24. 24

    Typescript:インターフェースで `this`を使用してジェネリックで` extends`を使用しようとしています

  25. 25

    Javaでジェネリックスを使用してファクトリパターンを実装する方法

  26. 26

    インターフェイスでジェネリックコレクションを使用する

  27. 27

    ジェネリッククラスでインターフェイスを拡張するときのNoSuchFieldError

  28. 28

    ジェネリックメソッドを使用してインターフェイスでType.GetRuntimeMethodを呼び出すと、nullが返されます

  29. 29

    ジェネリックスを使用してインターフェイスタイプをクラスにマップする

ホットタグ

アーカイブ