1

そのため、私は別の開発者によって構築された古いアプリケーションを書き直しています - 彼はもはや私たちのチームの一員ではありません.

私が気付いたのは、AppDelegate に標準メソッドが含まれていることです。それに加えて、UI の設定から、T&C が受け入れられたかどうかの確認、カート内のアイテムの表示、さらにはログアウトやログインの香り付けまで、約 30 の方法があります。

今、私はまだiOS開発に慣れていないので、アプリデリゲートを悪用することは良い考えではないことを読んでいます。これは虐待とみなされますか?

アプリケーション全体で - 開発者は以下を使用します。

MyAppDelegate *appDelegate = (MyAppDelegate*)[MyAppDelegate sharedAppDelegate];

おそらく最良のアプローチではないと思いますか?

これがAppDelegateを悪用している場合-シングルトンを使用せずにどのように解決しますか?

新しいクラスを作成し、関連するメソッドをグループ化することを考えていますか? そのため、アイテムの設定/チェックなどに関係することはすべて、1つのクラスにまとめられます。その後、UI はおそらくアプリの委任にとどまることができますか?

これを分割すると、デカップリングと依存関係に役立つと思います。しかし、App デリゲートのほとんどが保存ではなく「実行」に使用されている場合、それは正しい方法でしょうか?

4

2 に答える 2

3

AppDelegate クラスの一部を悪用するかどうかはわかりませんが、プログラミングの見通しでは、コードを完全なクラスを意味するように分離する必要があります。その後、管理が容易になります。

あなたの問題に戻りましょう!いつでも Singleton クラスを作成することも、AppDelegate クラスのカテゴリ クラスを作成することもできます。つまり、コードを分離しているのです。つまり、デリゲートにログイン/ログアウト メソッドがある場合は、+UserManagement などと呼ばれるカテゴリを作成し、すべてのコードを配置できます。そこの!また、AppUser シングルトン クラスを作成して、そこにすべてのユーザー管理機能を配置することもできます。

于 2013-11-06T09:13:58.860 に答える