Проблема очень проста. Объект должен уведомлять о некоторых событиях, которые могут представлять интерес для наблюдателей.Что такое эквивалент событий .NET в Ruby?
Когда я сидел, чтобы проверить дизайн, который я приготовил сейчас в Ruby, чтобы проверить его. Я нахожусь в тупике относительно того, как реализовать события объекта. В .Net это будет однострочный ... .Net также выполняет проверку подписи метода обработчика и т. Д. например
// Object with events
public delegate void HandlerSignature(int a);
public event HandlerSignature MyEvent;
public event HandlerSignature AnotherCriticalEvent;
// Client
MyObject.MyEvent += new HandlerSignature(MyHandlerMethod); // MyHandlerMethod has same signature as delegate
Есть ли модуль EventDispatcher или что-то, что у меня пропало без вести, чтобы я мог надеть класс Ruby? Надеюсь на ответ, который играет с принципом наименьшего удивления Руби. Событие будет именем события плюс очередь объектов [observer, methodName], которые необходимо вызвать при возникновении события.
Не совсем. Это похоже на реализацию шаблона проектирования Observer. Мне нужно, чтобы объект котла выставил несколько событий, таких как WaterExhausted, Started и т. Д., И клиенты, подписавшиеся на их обработчики (не ограничиваясь одним методом «обновления») – Gishu 2008-10-29 09:19:04