ruby - 在 ruby​​ 中使用组合

标签 ruby composite composition

我是 Ruby 新手,但多年来一直是 .net 开发人员。我想在我的几个模型中实现组合,以确保它们尽可能松散地耦合,但不知道从哪里开始,或者如果真的需要这样做,我仍然在考虑像 .net 开发人员那样。

谁能给我一些关于从哪里开始的指示。

干杯 科林·格

最佳答案

你是说这种事吗?

class Engine
    attr_reader :horsepower, :litres
end

class Gearbox
    attr_reader :manufacturer, :model_no
end

class Car
    def initialize(engine, gearbox)
        raise "Invalid Engine Object" if !engine.kind_of(Engine)
        raise "Invalid Gearbox Object" if !gearbox.kind_of(Gearbox)
        @engine = engine
        @gearbox = gearbox
    end
end


car = Car.new(Engine.new, Gearbox.new) 

关于ruby - 在 ruby​​ 中使用组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2916988/

相关文章:

ruby-on-rails - Rails 数据库关系 : Post. category.name = ? (未定义方法 `name')

unit-testing - 将 SWI-Prolog 代码构建到模块中,用于多个算法和数据集的单元测试

ruby-on-rails - 保留、队列和可视化

arrays - 将八个对象铲到每个数组索引 ruby 中

Java - 如何检查一个对象是否是类定义中类的实例

具有智能指针的 C++11 复合模式

go - 允许在结构中使用复合作为函数参数

scala - 允许组合时在Scala中声明 protected 方法的惯用方式?

ruby-on-rails - Ruby on Rails 的授权模型

Java:复合