Интересное использование свободных интерфейсов? - PullRequest
1 голос
/ 06 января 2009

Мне интересно, где и когда Свободные интерфейсы хорошая идея, поэтому я ищу примеры Пока я нашел только 3 полезных случая, например, Коллекции Руби, вроде

unique_words = File.read("words.txt").downcase.split.sort.uniq.length

и Fest (Java) для модульного тестирования:

assertThat(yoda).isInstanceOf(Jedi.class)
    .isEqualTo(foundJedi)
    .isNotEqualTo(foundSith);

и JMock . Знаете ли вы о каких-либо других хороших примерах, которые используют свободный интерфейс?

Ответы [ 4 ]

3 голосов
/ 06 января 2009
1 голос
/ 06 января 2009
0 голосов
/ 20 апреля 2011
  1. Ninject: http://www.ninject.org
  2. Для примера, который не взят из библиотек общего назначения, я создал пакет автоматической регрессии для мастера настройки. Я создал конечный автомат, который заполняет значения на странице мастера, проверяет, допустимы ли эти значения, и затем переходит на следующую страницу. Код для каждого шага в автомате выглядит следующим образом:

    ...

    step.Filler () Fill () Проверка () GoForward ();

0 голосов
/ 06 января 2009

RSpec . Пример с домашней страницы:

# bowling_spec.rb
require 'bowling'

describe Bowling do
  before(:each) do
    @bowling = Bowling.new
  end

  it "should score 0 for gutter game" do
    20.times { @bowling.hit(0) }
    @bowling.score.should == 0
  end
end
...