Это вопрос мозгового штурма. Любые комментарии будут оценены.
Недавно я наблюдал несколько исходных структур с шаблоном, похожим друг на друга.
Moq
mock.Setup(framework => framework.DownloadExists("2.0.0.0"))
.Returns(true)
.AtMostOnce();
Ninject
Bind<IService>().To<RedImpl>().WhenMemberHas<RedAttribute>();
и Свободный NHibernate
HasManyToMany(x => x.Products)
.Cascade.All()
.Table("StoreProduct");
Я заметил, что все они связаны с какой-то конфигурацией. И это более удобно для использования по сравнению с обычной настройкой свойств.
Я могу сказать, что мне нравится этот стиль, но не могу понять, почему именно.
Может кто-нибудь сказать мне, какое преимущество он имеет и когда этот стиль будет полезен? Кроме того, есть ли название для такого стиля? Как это реализовано под капотом? Если есть учебник о том, как писать в стиле Moq, это очень ценится.
Обновление
Спасибо за помощь. Теперь, когда я знаю, что этот стиль называется Fluent Interface , есть ли руководство по созданию примера интерфейса Fluent?