LifetimeScope
๊ฐ๋
VContainer ํน์ ์ ๋จ์์ ๋๋ค.
1ํ๋ฉด์ ๋ํด ํ๋๋ง ์์ฑํฉ๋๋ค. (์์ธ ์์)
์ฉ๋
ํ๋ฉด์์์์ ํด๋์ค ์์กด๊ด๊ณ๋ฅผ ์ง์ ํฉ๋๋ค.
View๋ฅผ Presenter(Lifecycle)์ ๊ฑด๋ด์ค๋๋ค.
๊ตฌํ๋ฐฉ๋ฒ
LifetimeScope ํน์, LifetimeScopeWithParameter๋ฅผ ์์๋ฐ์ ๊ตฌํํฉ๋๋ค.
SerializeField ๋ฅผ ํตํด pageView๋ฅผ ๋ฐ์์ ์ฌ์ฉํฉ๋๋ค.
ํต์ ๋ฑ์ Mock ์ ๋ณด๋ํ ์ถ๊ฐํฉ๋๋ค.
์์ ์ฝ๋
public class TestLifetimeScope : LifetimeScope
{
[SerializeField] private TestView _view;
protected override void Configure(IContainerBuilder builder)
{
base.Configure(builder);
builder.RegisterComponent(_view); // View ๋ฑ๋ก
builder.Register<TestPageLifecycle>(Lifetime.Singleton); // ํ๋ฉด๋ณ Lifecycle ๋ฑ๋ก
builder.Register<TestUseCase>(Lifetime.Singleton); // ํต์ ์ UseCase ๋ฑ๋ก
AddMockInDebug(builder); // ํต์ Mock ํ๋ฌ๊ทธ์ธ ์ฝ์
}
}
Last updated