imog

主にUnityとかの事を書いています

Zenject

Extenject(Zenject)のTestがNSubstituteをサポートしていた

割と最近の出来事だった github.com 元々Zenjectはテスト時のモックライブラリとしてMoqを採用していたんだけど、このPRでまた別のモックライブラリであるNSubstituteを使えるようになった。選択肢が増えたのだった。 Moq github.com NSubstitute nsubstitut…

ZenjectのConstructionMethodたち

ZenjectでBindするとき、そのインスタンスをどのように用意するかという設定が必要です。その場で初期化するのか、既存のインスタンスを引っ張ってくるのかなど。これらはコンストラクションメソッドと呼ばれており、READMEに全部書かれています。 github.co…

Zenject Factoryの話

はじめに このエントリはUNIBOOK10で書いた記事を転載したものです。 unity-bu.booth.pm UNIBOOK10、いい話がいっぱいあるから買ってね! Zenject Factory ZenjectはUnityで動作するDIライブラリです。煩わしい依存関係の解決を助ける非常に強力な武器となり…

Zenject Decorator Binding

ZenjectにはDecoratorパターンをサポートするDecorator Bindingなる機能があったりします。あんまりメインで使うような機能ではありませんが覚えておくと便利かもしれません。 github.com Decorator パターン DecoratorパターンはGoFで定義されてるデザイン…

InjectとInjectLocal attribute

Zenjectのソース読んでたらInjectLocalというAttributeが内部にあったのでなんだろうと調べたメモ。実用的なやつではない。 どのContainerからInjectされるのか そもそも、Bindされたオブジェクトはどこから依存しているオブジェクトをもらえるのでしょう。…

Zenject Signals

本記事は Unity Advent Calendar 2018 の 13日目 の記事です。 qiita.com 普段Zenjectを趣味で使っているのですが、Zenjectは基本的なDIContainer機能の他に、ちょっとDIから離れた便利機能をいくつか提供しています。MemoryPool TestFrameWork Reflection B…