Unity お・と・なのLT大会 2019
設計に反省と興味
「Unity Zenject完全に理解した」に参加
社外への技術アピール
初期メンバーも導入に賛同
UserDataContextを破棄すればゲームのリセットが簡単に
ProjectContextはできるだけ軽く、Contextは細かく分離
Zenject管理外からでも呼ばれるもの
細かい状態を持たないもの
// 適切にBindされていれば勝手にインジェクトされる
[Inject] private IGetUseCase useCase;
public int Get() {
// そのまま使える
// 実体はInstaller側で決める
return useCase.GetValue();
}
[Inject] private IGetUseCase useCase;
private int userValue;
// コンストラクタ内ではまだインジェクトされていないのでuseCaseはnull
private UserModel() {
userValue = useCase.GetValue();
}
// 初期化関数を外から呼ぶ形式に
public void Initialize() {
userValue = useCase.GetValue();
}
いよいよ明日がリリースですよ!
むっちゃドキドキしてきた…。
開発者の皆さん、今日くらいは検証は休んで明日に備えますよね?
夜中23時...
ユーザーが...増えてる!!
緊急リリーーーース!!!
Presenter - 1つ
Model - 1つ
View - 複数
通信処理・共通処理はUseCase化
MV(R)P+UseCase
Repository
Entity
UseCase
UseCase経由でRepositoryにEntityを追加/取得/更新