«Свободные интерфейсы» - довольно актуальная тема в наши дни. В C # 3.0 есть несколько приятных функций (особенно методов расширения), которые помогут вам их создавать.
К вашему сведению, свободный API означает, что каждый вызов метода возвращает что-то полезное, часто тот же объект, для которого вы вызывали метод, так что вы можете продолжать связывать вещи. Мартин Фаулер обсуждает это с примером Java здесь . Концепция выглядит примерно так:
var myListOfPeople = new List<Person>();
var person = new Person();
person.SetFirstName("Douglas").SetLastName("Adams").SetAge(42).AddToList(myListOfPeople);
Я видел несколько невероятно полезных беглых интерфейсов в C # (один из примеров - свободный подход к проверке параметров, найденный в более раннем вопросе StackOverflow, который я задал . Он обескуражил меня. читаемый синтаксис для выражения правил проверки параметров, а также, если не было исключений, он мог избежать создания каких-либо объектов! Так что для «нормального случая» было очень мало накладных расходов. Этот один лакомый кусочек научил меня огромному количеству сумма за короткое время. Я хочу найти больше таких вещей).
Итак, я хотел бы узнать больше, посмотрев и обсудив несколько прекрасных примеров. Итак, Какие отличные беглые интерфейсы вы создали или видели в C #, и что сделало их такими ценными?
Спасибо.