ランチタイムLT会 #1で「何故、UseCaseは1メソッドなのか」というLTをしました
目次
本日、お昼の時間帯に開催されたランチタイムLT会 #1にて、「何故、UseCaseは1メソッドなのか」というタイトルでLTをしました。発表資料はSpeaker Deckに公開してあります。
家庭の都合で平日夜や休日に開催される勉強会には参加しにくいですが、平日日中は参加しやすいので、こういう時間帯に開催される勉強会はありがたいです。また登壇チャンスを見つけて登壇していきます。
要約
今回のLTの内容は、基本的なところは1年半前に書いた[Android] UseCaseの実装という記事の内容を下敷きにしています。同時に、ソフトウェアデザイン 2023年6月号に寄稿した、Androidアプリのクリーンアーキテクチャに関する記事の補足にあたります。記事を読んでコメントしてくれた同僚に感謝🙏
- Androidのアプリアーキテクチャガイドでは、以下を推奨しており、この推奨に従うと必然的に1 UseCase 1 publicメソッドになる。
- UseCaseに「動詞+名詞 / 対象+UseCase」という命名をすることを推奨している。
- operator修飾子を用いてinvoke関数を定義することを推奨している。
- UseCaseが1 publicメソッドとなることで、以下のメリットが得られる。
- UseCaseの再利用性が高まる。
- UseCaseの保守性が高まる。
- UseCaseを再利用しない場合は上記のメリットが享受しにくく、「面倒くささ」のコストを正当化できない。
参考文献
- Software Design 2023年6月号, 技術評論社
- Android Developer, ドメインレイヤ, retrieved from https://developer.android.com/jetpack/guide/domain-layer?hl=ja (最終アクセス日:2023年5月27日)
- 松岡幸一郎, (2020), ドメイン駆動設計 モデリング/実践ガイド
書いている人 😎

茨城県つくば市在住のモバイルアプリケーションアーキテクト(Androidが得意です)。モバイルアプリのアーキテクチャ、自動テスト、CI/CDに興味があります。いわゆる「レガシーコード」のリファクタリング・リアーキテクチャが好きです。
👉 もっと詳しく
著書 ✍
Android 依存性注入 ヒッチハイク・ガイド🧳
Androidアプリでの依存性注入(Dependency Injection)に入門するためのガイダンスです。依存性注入の概念やメリットを理解し、Dagger Hiltを用いてAndroidアプリに適用する方法を解説しています。
ソフトウェアデザイン 2023年6月号📚
特集「クリーンアーキテクチャとは何か?」の第5章「モバイルアプリ開発における実践」を執筆しました。
Android クリーンアーキテクチャ ヒッチハイク・ガイド🧳
Androidアプリでのクリーンアーキテクチャに入門するためのガイダンスです。クリーンアーキテクチャの概念を理解し、Androidアプリに適用する方法を解説しています。
Android ユニットテスト ヒッチハイク・ガイド🧳
Androidアプリのユニットテストに入門するためのガイダンスです。初学者が混乱せずにAndroidアプリのユニットテストを書き始めることができる、ということを目的としています。
Android MVVMアーキテクチャ入門🛠
Androidアプリ開発の初学者に向けた、MVVM(Model-View-ViewModel)アーキテクチャの入門書を書きました。初学者の方を確実にネクストレベルに引き上げる技術書です。NextPublishingより出版されています。
関連記事 👀
- DroidKaigi.collect{ #1@Tokyo }で「例外を投げるな、値を返せ」というLTをしました
- [Kotlin] 関数定義が1つだけのinterfaceは `fun interface` で定義できる
- GitHub ActionsでSonarCloudにカバレッジをアップロードする
- [Android] Uniflowを用いたMVI的なアーキテクチャを試してみる🦄
- [Android] 単体テスト用の依存関係をHiltで解決する