現在のプロジェクトで Cairngorm MVC アーキテクチャを使用しています。
値を返す同じタイプの関数を使用するコマンドがいくつかあります。各コマンドでコードを複製するのではなく、この機能を 1 か所にまとめて再利用したいと考えています。これを行う最善の方法は何ですか?
現在のプロジェクトで Cairngorm MVC アーキテクチャを使用しています。
値を返す同じタイプの関数を使用するコマンドがいくつかあります。各コマンドでコードを複製するのではなく、この機能を 1 か所にまとめて再利用したいと考えています。これを行う最善の方法は何ですか?
ここには多くのオプションがあります-モデルまたはコントローラーでパブリックに定義された関数。
var mySharedFunction:Function = function():void
{
trace("foo");
}
... 新規または既存のクラスの静的メソッドなど。ただし、ベスト プラクティスはおそらく、関数が何をする必要があるかによって異なります。詳しく教えていただけますか?
コマンドの抽象基本クラスを作成し、保護されたスコープに関数を追加します。他の場所で再利用する必要がある場合は、ユーティリティ クラスの public static メソッドにリファクタリングします。
Cairngorm クラスの 1 つに静的クラスまたは静的メソッドを作成します。
class MyStatic
{
public static function myFunction(value:String):String
{
return "Returning " + value;
}
}
次に、関数を使用する場所:
import MyStatic;
var str:String = MyStatic.myFunction("test");
もう 1 つのオプションは、最上位関数 (「トレース」) を作成することです。ここに書いたこの投稿をチェックしてください。