Swing開発者になる可能性のある長年のSwing開発者として、コンポーネントのレイアウトに使用するパターンが多数見つかりました。たとえば、JLabelに関連付けられたコンポーネントを作成することがよくあります。私は通常次のように書いています。静的メソッドがいっぱいのクラスのデザインに関する考慮事項
JPanel panel = new JPanel(new BorderLayout());
panel.add(label, BorderLayout.NORTH);
panel.add(list, BorderLayout.CENTER);
よくあることですが、よく使うレイアウトのイディオムを含むクラスを作成することにしました。次に、私は単純に言うことができます:
JPanel panel = LayoutPatterns.createNorthLabeledPanel(label, list);
...私のタイピング負荷を大幅に軽減します。
ここで、約20の静的メソッドからなるクラスがあります。クラスには状態がありません。すべてのコンテキストはメソッドのパラメータで渡されます。
JavaのMathクラスに加えて、静的メソッドだけで構成され、状態を持たないクラスは見たことがありません。
一方で、これは正しく感じられません。一方、私はそれに間違って何も表示されません。
これは大丈夫なパターンなのでしょうか、それともCode Smellですか?このパターンが別のドメインに適用された場合、クラスの静的クラスのマルチスレッド化された使用について心配すべきですか?これを本番品質のコードで見たことがあるならば、あなたは気にしませんか?
幸いですが、はい、クラスの成長の大きさは私の心配です。私は大きいが大きすぎるのだろうか...あなたが探しているものを見つけるためにAPIをすばやく読み取るには時間がかかりすぎると思います(他の誰かがクラスを使用している場合) –