私は最近、少なくとも XML 解析スクリプトを共有する必要がある 2 つの異なるプログラムのデバッグを担当しています。1 つは PureMVC で作成され、もう 1 つはゼロから作成されました。もともと、ゼロから作成することは理にかなっていましたが (これによりかなりの量のメモリが節約されましたが、メモリの問題はその後解決されました)。
非 PureMVC アプリケーションの移植には、使用する必要のないかなりの時間と労力がかかりますが、ドキュメントとコード共有が容易になります。また、全体的な学習曲線が低下します。それを念頭に置いて:
1. 物事を 1 つの基準に移行するのが最善かどうかを検討する際、何を考慮に入れる必要がありますか?
(関連記事にて)
一部のコードは少し奇妙です。インタープリター アプリはコマンドをある構文から別の構文に変換する必要があったため、インタープリター オブジェクトを持つことは理にかなっています。外部環境との通信が必要なため、1 つのオブジェクトが環境と対話し、そのためにインタプリタのみを処理する方が理にかなっています。
事実上、アンチシングルトンが作成されました。オブジェクトはインタープリターとのみやり取りするだけで、それだけです。別のクラスのメンバーがそのパブリック メソッドの 1 つを呼び出そうとすると、オブジェクトは Exception を発生させます。
これを達成するためのより良い方法がありますが、それは間違いなく少し奇妙です。同じことを達成するためのより標準的な手段がありますが、多くの場合、非常に大きなクラスまたはクラス ファイルを作成する必要があります。私が見つけた標準に準拠した唯一の解決策は、現在必要とされているのと同じくらい多くのコメントと説明を必要とするでしょう。これを考慮して: