Скажем, у меня есть следующие классы, которые я хочу построить, используя Ninject, со стрелками, показывающими зависимости.
A > B > D
A > C > D
Я хочу настроить Ninject таким образом, чтобы A был временным, т.е. каждый раз, когда вы запрашиваете Ninject для A, вы получаете новый. Я также хочу, чтобы B и C были временными, вы получаете новый из них каждый раз, когда вы просите A. Но я хочу, чтобы D был повторно использован как для B, так и для C. Поэтому каждый раз, когда я запрашиваю A, я хочу Ninject для построения одного из каждого объекта, а не двух Ds. Но я не хочу, чтобы Ds повторно использовался в разных As.
Каков наилучший способ установить это с помощью Ninject?
Update:
После еще нескольких исследований кажется, что Unity имеет PerResolveLifetimeManager, который делает то, что я ищу. Существует ли эквивалент Ninject?