3
0

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 3 years have passed since last update.

[Joke] God Activity Architectureの奨め

Last updated at Posted at 2020-04-25

God Activity Architecture(GAA)は、Activity内に全てのコードを配置するアーキテクチャです。MVPと比べてみましょう。

MVP

mvp.png

GAA

gaa.png

長所

ファイルを探したり、あちこちのファイルを行き来しなくてよくなります。パッケージやプロジェクト構成、命名などで悩む必要もありません。

学習コストも最低です。Hello Worldができたらもう習得済みです。たぶんAndroid開発者なら誰でも一番最初に採用するアーキテクチャでしょう。

短所と対策

GAAを使うとUnitTestはほぼ不可能になります。これは短所ですが、実は利点もあります。単体テストは不可能だと主張できます。よってテストにかかるコストは100%カットできます。

また、GAAを使ったコードは、よく以下に例えられます。
spaghetti.jpg
GAAを使うと、コードはスパゲッティ級の密結合になります。リファクタリングや引継ぎは困難です。が、そもそもGAAは1人のエンジニアが開発/保守することしか想定してません。スパゲッティを作るには1人で充分ですよね!

最後に

もちろんジョーク記事です。間違ってもチーム開発にGAAを採用しないでください。チーム開発には、それに見合ったアーキテクチャを選びましょう!

参考記事

  • God Activity Architecture — One Architecture To Rule Them All
3
0
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
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?