パン太
パン太
## マルチモジュール化の方針 依存関係が複雑でそう簡単に切り出せそうではない &作業量が膨大ですぐには終わりそうになく普通に心が折れそうなので レイヤー単位でモジュールを作成しつつ機能単位で移植をしていく
## 現状の依存関係の問題点 api⇄modelで依存してしまっている そのためmodel, apiでモジュールを分けることができない。 また機能間での依存もあるため機能ごとに切り出すことができない。
## クリーンアーキテクチャ導入の課題 現状modelに一纏めになってしまっている。 entityの切り出しは容易ではあるが、機能間の依存が強いため切り出すのに工数がかかってしまう また独自のアーキテクチャで実装してしまったためCleanのレイヤーにマッチしない可能性がある。 ページネーション系->アプリケーション層 DataSource系->???
model層, api層, インフラ層のモジュール化完了 以降はView, ViewModel層を機能単位でモジュール化していく
featuresディレクトリに各種機能のモジュールを作成していきたい
Gallery機能をCompose化させようとしたところ メイン画面のFabを現在のタイムラインの表示状況に応じて切り替えるために、 ViewModelを共通化させてしまっているため、うまく切り出すことができなかった。
アプリケーション全体で使いたいViewModel用のモジュールcommon_viewmodelを作成した。
common_androidを作成して Androidに関連する共通モジュールを切り出すと良いかもしれない
以下タスクが完了次第マルチモジュール化は一旦完了ということにする。 #664 #663 #754 #755
例) User.Id -> UserId Note.Id -> NoteId など