`
qzriso
  • 浏览: 242369 次
  • 性别: Icon_minigender_1
  • 来自: ph
社区版块
存档分类
最新评论

ruby中的观察者模式

阅读更多

 

require 'observer'

class TV
include Observable

def turn_on
puts "TV is on!"
changed #TV state changed
notify_observers(self) #notify observer
end
end

class Me
def update(tv) #observer, when someone notify you
puts "I will go to watching TV, #{tv.inspect}"
end
end

tv = TV.new
me = Me.new

tv.add_observer(me)

tv.turn_on

分享到:
评论

相关推荐

    探索Ruby中的观察者模式:事件驱动编程的艺术

    ### 探索 Ruby 中的观察者模式:事件驱动编程的艺术 **一、Ruby 语言概述** Ruby 是一种高级的、面向对象的编程语言,由日本的开发者松本行弘(Yukihiro "Matz" Matsumoto)在 1995 年创建。其设计目标是简单、...

    设计模式中的观察者模式在Ruby编程中的运用实例解析

    观察者模式(有时又被称为发布/订阅模式)是软件设计模式的一种。 在此种模式中,一个目标对象管理所有相依于它的观察者对象,并且在它本身的状态改变时主动发出通知。 这通常透过呼叫各观察者所提供的方法来实现。 ...

    实例解析Ruby设计模式开发中对观察者模式的实现

    这种模式在Ruby中得到了很好的支持,Ruby内建的`Observer`类提供了一种便捷的方式来实现观察者模式。 在Ruby中,观察者模式的实现通常涉及以下几个关键组件: 1. **Subject(主题)**:这是被观察的对象,也就是...

    ruby设计模式的代码有好多

    行为型模式包括策略模式(Strategy)、观察者模式(Observer)、责任链模式(Chain of Responsibility)等,关注对象之间的交互和职责分配。Ruby的模块(Module)可以用于实现策略模式,通过包含不同的模块来改变...

    ruby、javascript、php中的观察者模式实现代码

    在给定的标题和描述中,提到的主要语言是Ruby、JavaScript和PHP,我们将分别讨论这三种语言中的观察者模式实现。 首先,Ruby的实现非常简洁,利用了内置的`Observable`模块。`Subject`类通过包含`Observable`模块,...

    javascript观察者模式实现自动刷新效果.docx

    在JavaScript开发中,观察者模式(Observer Pattern)是一种常见的设计模式,用于处理对象之间的依赖关系。它定义了一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并被自动...

    ruby面向对象设计 Practical Object-Oriented Design in Ruby

    常见的设计模式包括工厂模式、单例模式、策略模式、观察者模式等。 在引用的内容中,我们可以看到出版社、作者以及其他相关出版信息。《Ruby面向对象设计》一书由Pearson Education出版社发行,该出版社是全球教育...

    Ruby-chewy高级ElasticsearchRuby框架

    当数据库中的数据发生变化时,Chewy可以通过观察者模式自动更新Elasticsearch中的索引。只需在模型上添加`update_index`方法即可。 ```ruby class User after_save { UsersIndex::User.update_all } end ``` 七、...

    gof patterns in ruby

    在Ruby中,观察者模式可以通过标准库中的`observer`模块实现。 #### State(状态) 状态模式允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。 #### Strategy(策略) 策略模式定义了...

    ruby-design-patterns:Russ Olsen 的 Ruby 设计模式

    3. **观察者模式**(Observer):Ruby标准库中的`Observable`模块实现了观察者模式,允许对象订阅其他对象的事件,并在事件发生时自动得到通知。这在事件驱动编程和回调函数中非常有用。 4. **装饰器模式**:装饰器...

    Design Patterns in Ruby Dec 2007.rar

    3. **观察者模式**(Observer):定义了对象间的一对多依赖关系,当一个对象的状态改变时,所有依赖于它的对象都会得到通知并自动更新。Ruby的`Observable`模块提供了内置支持,允许对象监听和响应事件。 4. **装饰...

    microevent.rb:Ruby 对象的事件(又名具有发布-订阅功能的对象,又名观察者模式)

    MicroEvent.rb 是一个事件发射器库,它为 Ruby 对象提供观察者模式。 它的灵感来自 ,用不到。 设置 添加到您的Gemfile gem 'microevent' 或将复制到您的项目中。 如何使用它 假设您有一个类Klass ,并且您希望...

    Ruby-编程基础阅读物主要是Ruby示例

    Ruby中可以实现各种设计模式,如工厂模式、单例模式、装饰器模式、观察者模式等。这些模式可以帮助写出更灵活、可维护的代码。 5. **数据结构**:Ruby内建了丰富的数据结构,如数组(Array)、哈希(Hash)、集合...

    design-patterns-ruby:Ruby设计模式

    2. **观察者模式**(Observer Pattern):观察者模式定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。在Ruby中,可以通过实现`add_observer`、`delete_...

    u-observers:观察者模式的简单而强大的实现

    观察者模式的简单而强大的实现。 该gem实现观察者模式 (也称为发布/订阅)。 它为一个对象提供了一种简单的机制,以便在其状态发生变化时通知一组感兴趣的第三方对象。 Ruby的标准库,使您可以使用此模式。 但是...

Global site tag (gtag.js) - Google Analytics