首页 > 代码库 > 《大话设计模式》ruby版代码:简单工厂模式

《大话设计模式》ruby版代码:简单工厂模式

之前有看过《ruby设计模式》,不过渐渐的都忘记了。现在买了一个大话设计模式,看起来不是那么枯燥,顺便将代码用ruby实现了一下。

 

# -*- encoding: utf-8 -*-#运算类class Operation    attr_accessor :number_a,:number_b        def initialize(number_a = nil, number_b = nil)        @number_a = number_a        @number_b = number_b    end        def result        0    endend#加法类class OperationAdd < Operation    def result        number_a + number_b    endend#减法类class OperationSub < Operation    def result        number_a - number_b    endend#乘法类class OperationMul < Operation    def result        number_a * number_b    endend#除法类class OperationDiv < Operation    def result        raise 除数不能为0 if number_b == 0            number_a / number_b    endend#工厂类class OperationFactory    def self.create_operate(operate)        case operate        when +            OperationAdd.new()        when -            OperationSub.new()        when *            OperationMul.new()        when /            OperationDiv.new()        end    endendoper = OperationFactory.create_operate(/)oper.number_a = 1oper.number_b = 2p oper.result

 

《大话设计模式》ruby版代码:简单工厂模式