問題タブ [utility-method]

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.

0 投票する
1 に答える
1278 参照

java - ユーティリティ クラスまたはベース アクティビティからの継承のどちらかを決定する

これは、Android に固有のベスト プラクティス/パフォーマンス関連の質問です (これは一般的な議論になる可能性があることは理解していますが、Android 環境を考慮して絞り込みたいと考えていました)。

メソッドがあるとしましょう(条件をチェックし、ユーザーをさまざまなアクティビティにリダイレクトします)。このメソッドは多くのクラスで使用されています。

このメソッドをユーティリティ クラスに追加し、静的にして、それを必要とするすべてのアクティビティから呼び出すかどうかを決めることができません。

または

ベース アクティビティを作成し、そこにメソッドを追加します。このメソッドを使用する必要があるアクティビティは、ベース アクティビティから継承します。(この特定のケースでは、単一継承で問題ないと仮定します)。

考え?

編集これらは、これに関連してチェックした関連するSO投稿です。これらに基づいて決定を下すことができませんでした

ユーティリティクラスは悪ですか?

「ユーティリティ」クラスが悪い場合、一般的なコードをどこに配置すればよいですか?

0 投票する
2 に答える
21348 参照

javascript - React-Redux アプリケーションでユーティリティ関数を配置する場所は?

React-Redux アプリケーションでは、次のような状態になっています。

React コンポーネントを使用してレンダリングします。

ここで、人の「フルネーム」を取得する関数が必要です。したがって、単に「first_name + last_name」ではなく、国によって異なります (たとえば、中国では「last_name + first_name」になります)。そのため、比較的複雑なロジックがいくつかあります。コンポーネントに反応します。

OOP では、Person::getFullName()この情報を提供するメソッドを作成します。ただし、stateオブジェクトは「ダム」であり、サブオブジェクトには特殊なメソッドがありません。

では、一般的に React-Redux でこれを管理するための推奨される方法は何ですか? 私が考えることができるのはuser_getFullName(user)、ユーザーを取得してフルネームを返すようなグローバル関数を作成することだけですが、それはあまりエレガントではありません。なにか提案を?

0 投票する
2 に答える
1153 参照

java - 共通コードのスーパークラスとユーティリティ クラス

1 つのオブジェクトからビルダーにフィールドをコピーする 2 つのクラスに同じメソッドがあります。リファクタリングしたいのですが、ユーティリティ クラスで静的メソッドを作成するか、スーパークラスに抽象化する必要があるかわかりません。

このコードを共有するクラスは Bean であり、マルチスレッド アプリの一部です。

メソッドは次のようになります。

ご助力ありがとうございます。

0 投票する
4 に答える
3583 参照

php - ユーティリティ クラスがアンチ パターンの場合、PHP の代替手段は何ですか?

最新の OOP 設計パターンに従って、独自の MVC フレームワークを構築しようとしています (もちろん、よりよく学ぶためです)。繰り返し可能なコードを配置するためのベストプラクティスは何ですか(静的メソッドとしてユーティリティクラスにとどまるために使用されますが、これは良いパターンではないと考えられています)。

たとえば、ドットで区切られた文字列を使用して多次元配列をトラバースしたい場合、このアルゴリズムをいくつかのクラス (他の基本クラスのサブクラス) で利用する必要があります。ユーティリティクラスを使用せずに、同じコードを複数回繰り返さずに、どうすればそれを行うことができますか?

0 投票する
3 に答える
3148 参照

replace - Blue Prism 英語以外の文字を置換

英語以外の文字を英語の文字に置き換える Blue Prism の機能を探しています。

例:

入力: アンドレス・チャベス 出力: アンドレス・チャベス

0 投票する
2 に答える
1066 参照

android - Android Toast オブジェクトのユーティリティ クラス

Toast 用の独自のユーティリティ クラスを記述して、反復的なコードを削減することにしました。

ご覧のとおり、2 つの方法があります。スタックされたトーストの初期化を避けたいので、新しいトーストの前に古いトーストをキャンセルします。私のクライアントクラスでは、次のように使用しています:

ボタンを複数回クリックすると、トーストがスタックされます - 以前のトーストは破棄されません。したがって、このように動作する理由を定義するための助けが必要です。

更新 以前に、アクティビティクラス内にトーストコードを書きましたが、完全に機能しました。例えば: