17
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

AppDelegateを肥大化させてはいけない

Posted at

AppDelegateをシングルトンとして使うとメンテできないコードになります。

AppDelegateをどこからでも呼べる便利なシングルトンとして用いてしまうと、AppDelegateがアプリケーションの状態が通知された際の役割以外をもたせることになります。その結果、複数の機能が一つのクラスで表現されてしまうことになります。importの依存関係の意味も不明確になります。

これらの諸々の事情によりAppDelegateに状態が追加されその処理が埋め込まれることでAppDelegateが肥大化していき、メンテ不可能な雪だるまができていきます。

また、テストが困難になるという問題もあります。

以下は関連する議論のリンクです。

Singletons, AppDelegates and top-level data.

Don’t Abuse the App Delegate

17
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?