God Activity Architecture(GAA)は、Activity内に全てのコードを配置するアーキテクチャです。MVPと比べてみましょう。
MVP
GAA
長所
ファイルを探したり、あちこちのファイルを行き来しなくてよくなります。パッケージやプロジェクト構成、命名などで悩む必要もありません。
学習コストも最低です。Hello Worldができたらもう習得済みです。たぶんAndroid開発者なら誰でも一番最初に採用するアーキテクチャでしょう。
短所と対策
GAAを使うとUnitTestはほぼ不可能になります。これは短所ですが、実は利点もあります。単体テストは不可能だと主張できます。よってテストにかかるコストは100%カットできます。
また、GAAを使ったコードは、よく以下に例えられます。
GAAを使うと、コードはスパゲッティ級の密結合になります。リファクタリングや引継ぎは困難です。が、そもそもGAAは1人のエンジニアが開発/保守することしか想定してません。スパゲッティを作るには1人で充分ですよね!
最後に
もちろんジョーク記事です。間違ってもチーム開発にGAAを採用しないでください。チーム開発には、それに見合ったアーキテクチャを選びましょう!